尝试将一行复制到活动部分底部时出现 VBA 错误

尝试将一行复制到活动部分底部时出现 VBA 错误

我在 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,但是当我将该列复制并粘贴到另一个工作表中以制作标签时,我需要处理更多的行。

相关内容