我最近刚接触VBA,并承认我是新手。 我需要的程序是一个按钮'被选中。代码运行,结果是在最后一行下面输入一个新行(它是上面一行的副本,包含几个变量和数据验证)。对于一个小环境," NEW"每次用户必须填写一个新的"情况"但新行必须始终显示在最后一个条目下方;如果这是有道理的
到目前为止,这是宏代码:
Sub Macro6()
'
Application.ScreenUpdating = False
Range("A2:F2").Select
Selection.Copy
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
对于任何新奇的错误,我很抱歉,我只在大约20分钟前启动了VBA。我确实向同事求助,但是,我们无法破解它
问候
答案 0 :(得分:1)
这会使您的代码按照您希望的方式运行:
Sub Macro6()
Dim lastRow As Long
Application.ScreenUpdating = False
lastRow = 1 + Cells(Rows.Count, "A").End(xlUp).Row
Range("A2:F2").Select
Selection.Copy
Range("A" & lastRow).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
作为后续步骤的提示,一旦您在VBA上花费超过20分钟,请尝试避免选择和活动表 - How to avoid using Select in Excel VBA
此外,在使用宏录制器时,请确保使用 Ctrl 在Excel应用程序中导航。它通常会产生良好的效果。