Gly*_*lyn 0 excel vba excel-vba
我正在使用MS Excel 2007和Microsoft Visula Basic 6.5.
我想在工作表中选择一行,然后使用宏在此工作表和其他三个工作表中插入一行.我正在尝试下面的代码但是当我运行它时,我在"工作表"("Rel.计划会议")上得到错误"运行时错误'1004':应用程序定义或对象定义错误".范围(Lst).启用".
Sub Copy1()
Dim Lst As Long
'save the rowNo
Lst = ActiveCell.Row
Worksheets("Rel. Planning Meeting").Activate
Worksheets("Rel. Planning Meeting").Range(Lst).Activate
ActiveCell.EntireRow.Insert
Worksheets("Master Release Plan - HTSTG").Activate
Worksheets("Master Release Plan - HTSTG").Range(Lst).Activate
ActiveCell.EntireRow.Insert
Worksheets("Inst. Gateway").Activate
Worksheets("Inst. Gateway").Range(Lst).Activate
ActiveCell.EntireRow.Insert
Worksheets("CAB").Activate
Worksheets("CAB").Range(Lst).Activate
ActiveCell.EntireRow.Insert
Worksheets("Rel. Planning Meeting").Range("A3:G5000").Copy _
Destination:=Worksheets("Master Release Plan - HTSTG").Range("A3")
Worksheets("Master Release Plan - HTSTG").Range("A3:O5000").Copy _
Destination:=Worksheets("Inst. Gateway").Range("A3")
Worksheets("Inst. Gateway").Range("A3:T5000").Copy _
Destination:=Worksheets("CAB").Range("A3")
End Sub
Run Code Online (Sandbox Code Playgroud)
我已经尝试过"Dim Lst As Range"然后我得到错误"运行时错误'91':对象变量或With block变量未设置"on"Lst = ActiveCell.Row".
非常感谢您的帮助.
问候,
格林
新守则:
Sub InsertRow()
Dim Lst As Long
'save the rowNo
Lst = ActiveCell.Row
'Insert a row in each worksheet at the currently selected cell.
Worksheets("Rel. Planning Meeting").Rows(Lst).Insert
Worksheets("Master Release Plan - HTSTG").Unprotect
Worksheets("Master Release Plan - HTSTG").Rows(Lst).Insert
Worksheets("Inst. Gateway").Unprotect
Worksheets("Inst. Gateway").Rows(Lst).Insert
Worksheets("CAB").Unprotect
Worksheets("CAB").Rows(Lst).Insert
End Sub
Run Code Online (Sandbox Code Playgroud)
除了@Bharath的答案之外,它不是必需的,而且使用起来也是个坏主意Select.
您的行插入代码可以缩减为
Worksheets("Rel. Planning Meeting").Rows(Lst).Insert
Worksheets("Master Release Plan - HTSTG").Rows(Lst).Insert
Worksheets("Inst. Gateway").Rows(Lst).Insert
Worksheets("CAB").Rows(Lst).Insert
Run Code Online (Sandbox Code Playgroud)