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列,我只是随便找了个最简单的例子,目的是为了解决录制宏时自动填充判断行数的问题。有个通用的方法吗? 展开
实际要录制的宏并不是B列等于A列,我只是随便找了个最简单的例子,目的是为了解决录制宏时自动填充判断行数的问题。有个通用的方法吗? 展开
展开全部
VBA中自动计算某列行数的公式:
dim Count%
Count = Sheets("data").Range("A65536").End(xlUp).Row
Count是定义的变量,改为你需要的变量名
data是工作表名称,改为你实际表名
A65536 是查找A列,改为你需要的列名。
dim Count%
Count = Sheets("data").Range("A65536").End(xlUp).Row
Count是定义的变量,改为你需要的变量名
data是工作表名称,改为你实际表名
A65536 是查找A列,改为你需要的列名。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把录制的宏代码全部删除,输入下面的代码就好了:
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
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
追问
我的目的是为了解决录制宏时自动填充判断行数的问题,实际公式不是某列等于另一列。
追答
录制的宏貌似没有判断条件的,需要自己适当修改添加才行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
这样修改,应该可以满足你的要求。
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
这样修改,应该可以满足你的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要田径判断行数的语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询