【发布时间】:2019-09-09 13:44:40
【问题描述】:
所以我是 Excel VBA 的新手,我得到了一个需要将数据从工作表 1 复制到新工作簿的项目。问题在于复制、粘贴和插入新行。 (有两个子程序,但第二个子程序差不多,是必须的,请见谅),谢谢。
Sub CopyInfo()
On Error GoTo Err_Execute
wb1.Sheets("dataform").Range("L2:N2").Copy
wb2.Sheets(shtname).Range("A2:C27").Rows("1:1").Insert Shift:=xlDown
wb2.Sheets(shtname).Range("A2:C28").PasteSpecial (xlPasteValues)
wb1.Sheets("dataform").Range("B2:B28").Copy
wb2.Sheets(shtname).Range("D2").Insert Shift:=xlDown
wb1.Sheets("dataform").Range("D2:D28").Copy
wb2.Sheets(shtname).Range("F2").Insert Shift:=xlDown
update
wb1.Sheets("Setlist").Range("G2").Copy
wb2.Sheets(shtname).Range("E2:E27").Rows("1:27").Insert Shift:=xlDown
wb2.Sheets(shtname).Range("E2:E28").Paste1Special
wb2.Sheets(shtname).Columns().AutoFit
Err_Execute:
If Err.Number = 0 Then MsgBox "All have been copied!" Else _
MsgBox Err.Description
End Sub
Sub update()
wb1.Sheets("dataform").Range("D2:D28").Copy
wb1.Sheets("dataform").Range("E2:E28").PasteSpecial
wb1.Sheets("dataform").Range("F2:F28").PasteSpecial
wb1.Sheets("dataform").Range("F2:F28").Copy
wb2.Sheets(shtname).Range("G2").Insert Shift:=xlDown
End Sub
程序需要从当前工作簿表 1 复制到另一个工作簿。第一个工作簿表 1 将有新的行加载项,代码会自动更新它。目前,如果当前工作簿工作表 1 添加新行,我必须手动更新代码。
【问题讨论】: