我在 vba 中使用以下代码将一个单元格中的内容复制到活动工作簿的底部。
Range("C3").Select
LR = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
Range("C2").AutoFill Range("C2:C" & LR)
如果活动工作表中只有一行,我就会收到此错误消息。
运行时错误‘1004 范围类的自动填充方法失败
它在这一行崩溃了
Range("J2").AutoFill Range("J2:J" & LR)
有人能告诉我需要添加什么才能避免错误吗?提前谢谢。
答案1
您应该发布更多代码以清楚说明您正在做什么,我假设您正在从一列移动到另一列并用列第 2 行的内容填充。问题是如果您只有一行(我假设您的意思是第 2 行)那么您的范围是 C2:C2,您无法自动填充。使用类似以下内容:
LR = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
If LR = 2 then LR = 8
Range("C2").AutoFill Range("C2:C" & LR)
将 8 替换为任何有意义的值。如果这不是解决方案,请澄清问题。
答案2
是的,我正在将 C3 中的内容复制到活动工作表的底部。有时它是一个 vlookkup,有时它是一个集中或 If 语句,我需要所有行对所有活动行执行相同的操作。我使用了一种复制方法,例如单击右下角的小框并将数字设置为 5000,但是当我将该列复制并粘贴到另一个工作表中以制作标签时,我需要处理更多的行。