excel,录制宏,使用公式自动填充时判断行数问题

如图,B1单元格输入“=A1”,双击右下角,即自动填充到B10=A10。录制的时候A列有10行,录制好后,以后需要运行宏的excel可能是100行也可能是5行,但每次都只... 如图,B1单元格输入“=A1”,双击右下角,即自动填充到B10=A10。录制的时候A列有10行,录制好后,以后需要运行宏的excel可能是100行也可能是5行,但每次都只能计算前10行。如何修改一下VBA代码,实现自动判断A列的行数并运用函数。我看到http://zhidao.baidu.com/question/32161592.html说“只要在录制的开头多录制一个动作就可以实现了: 选中公式的那一列,然后按下DELETE键,然后再继续录制你要做的内容,就可以了! 这是因为你的这个录制宏里面已经定义了有的那几行,我加这个,就是说每次运行宏都会自动重新定义行数!就不会象你所说的那样了!”但我按了DELETE后就把公式删掉了,没搞明白怎么用。
实际要录制的宏并不是B列等于A列,我只是随便找了个最简单的例子,目的是为了解决录制宏时自动填充判断行数的问题。有个通用的方法吗?
展开
 我来答
enjoyllonely
2011-09-17 · TA获得超过2.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:60%
帮助的人:7427万
展开全部
alt+F11
菜单,插入,模块
将下面代码复制到右边空白区

Sub 填充()
For i = 1 To range("A1048576").end(xlup).row '这是判断A列使用最大行号的
If cells(i,1) <> "" Then
cells(i,2)=cells(i,1).value
End If
Next
End Sub

存盘退出,然后,重新打开文件,选择“启用”
然后alt+F8
找到填充,执行
生淳静0E
推荐于2016-03-12
知道答主
回答量:22
采纳率:0%
帮助的人:20万
展开全部
VBA中自动计算某列行数的公式:
dim Count%
Count = Sheets("data").Range("A65536").End(xlUp).Row

Count是定义的变量,改为你需要的变量名
data是工作表名称,改为你实际表名
A65536 是查找A列,改为你需要的列名。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EnuLqy
2011-09-17 · 超过10用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:33.8万
展开全部
把录制的宏代码全部删除,输入下面的代码就好了:
Sub fgh()
Dim i As Integer
For i = 1 To 5000
If Range("A" & i) <> "" Then
Range("B" & i) = Range("A" & i)
Else
Exit For
End If
Next
End Sub
追问
我的目的是为了解决录制宏时自动填充判断行数的问题,实际公式不是某列等于另一列。
追答
录制的宏貌似没有判断条件的,需要自己适当修改添加才行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
txu2012
2011-09-17 · TA获得超过333个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:207万
展开全部
Sub fgh()
Dim i As Integer
For i = 1 To range("a65536").end(xlup).row
If Range("A" & i) <> "" Then
Range("B" & i) = Range("A" & i)
Else
Exit For
End If
Next
End Sub
这样修改,应该可以满足你的要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
marble68
2011-09-17 · TA获得超过445个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:166万
展开全部
要田径判断行数的语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式