两个星期以来,我一直在尝试编写一个能够执行以下操作的代码:将工作表的前 21 行“时间卡”复制并插入到同一张工作表底部的第一个空白行中“时间卡。” 我还希望,一旦复制了行,包含刚刚复制的选择日期(在工作表底部)的单元格将被选中,这样用户就不必向下滚动 6500 行。
代码必须选择工作表(“时间卡”),复制选择 C3:N23,并将选择粘贴到工作表底部的最后一个和第一个空白行(“时间卡”)。然后必须自动选择包含“日期”的单元格(在刚刚粘贴的选择中)(编写代码来搜索“日期”的范围?)。完成所有操作后,我想要一个链接到宏按钮的代码,用户可以单击该代码以清除数据验证,以便在新粘贴的单元格中仅保留公式,并且所有 VLOOKUPS 和数据验证都有被清除。
拜托,有人可以请帮我写一个代码。我真的做了很多研究,尝试了几种不同的方法,但都没有成功。我不是很精通 VBA,所以任何帮助将不胜感激。
这是我的第一次尝试:
Sub CopyInfo()
On Error GoTo Err_Execute
Sheets("Time Cards").Select
Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1, 0).Select
Sheets("TC-Start Here").Select
Range("C5:N25").Select
Selection.Copy
Sheets("Time Cards").Select
'Range("C5:N25").Select
Selection.Insert
Err_Execute:
MsgBox "The Data has been successfully Copied"
End Sub
然后我尝试选择最后一行并粘贴(第二次尝试):
Sub CopyInfo()
On Error GoTo Err_Execute
Sheets("Time Cards").Select
Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1, 0).Select
Sheets("TC-Start Here").Select
Range("C5:N25").Select
Selection.Copy
Sheets("Time Cards").Select
Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
Selection.Insert Shift:=xlDown
Sheets("Time Cards").Select
'Range("C5:N25").Select
Selection.Insert
Err_Execute:
MsgBox "The Data has been successfully Copied"
End Sub
它似乎不起作用,我永远无法让它选择包含日期的单元格,也无法清除验证。