如何用宏实现复制问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 18:44:39
想在EXCEL里进行一个循环复制的动作,逻辑是如果本单元格内容为空,则复制上一单元格内容,如果不为空,则不做任何动作.

请问,如何实现? 或者通过录制宏+修改VBA程序,是否能实现?

非常感谢.
为什么没有反应? 是不是程序里特定了某行某列?

Sub a()
Dim i As Integer, j As Integer
For i = 2 To ActiveSheet.UsedRange.Rows.Count'这里改成2,因为第一行上面没单元格,不好复制
'上面单元格,下同
For j = 1 To ActiveSheet.UsedRange.Columns.Count '这里有修改
If Cells(i,j)="" then Cells(i,j)=cells(i-1,j)'这里有修改
Next j
Next i
End Sub

如果只是指定某一列,比如C列.
Sub a()
Dim i As Integer
For i = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(i,3)="" then Cells(i,3)=cells(i-1,3)'这里有修改
Next i
End Sub

即cells(i,j)就是第i行j列单元格里的内容.

不好意思,大意了.看上面修改.ActiveSheet.UsedRange.Rows.Count和ActiveSheet.UsedRange.Columns.Count有时好像有问题,不能得到最后数据的行列,可以看一下具体是哪行哪列,然后修改成具体数值.