Excel 宏将范围复制到新工作簿
如何创建执行以下操作的宏:Excel 宏将范围复制到新工作簿,excel,vba,Excel,Vba,如何创建执行以下操作的宏: 将A2:AT10000范围从一个工作簿复制到新工作簿的第一页 返回初始工作簿,在代码为Sheet11的工作表中选择A6:HF10000范围 将所选内容粘贴到步骤1中创建的工作簿的新添加工作表(工作表2) 我得到一个运行时错误424,调试时,突出显示的行是 sheet 11.范围(“A6:HF10000”)。选择 Sub Copy2RangesNewWorkbook() ' ' Copy2RangesNewWorkbook Macro ' Dim pvt_wbk_New
sheet 11.范围(“A6:HF10000”)。选择
Sub Copy2RangesNewWorkbook()
'
' Copy2RangesNewWorkbook Macro
'
Dim pvt_wbk_New As Excel.Workbook
Dim pvt_xls_Current As Excel.Worksheet
With pvt_xls_Current
ActiveSheet.Range("A2:AT10000").Select
Selection.Copy
End With
Set pvt_wbk_New = Application.Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
With pvt_xls_Current
Sheet11.Range("A6:HF10000").Select
Selection.Copy
End With
With pvt_wbk_New
Sheets.Add After:=Sheets(Sheets.Count)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
End Sub
尝试:
请注意Sheet.PasteSpecial和Range.PasteSpecial之间的差异,正如Sid在这个问题中指出的,最后一件事是:如果我更改了“Sheet 11”的名称,宏将不再工作。我想使用工作表的代号,即Sheet11。pvt_wb_Current.Sheets(“Sheet11”).Range(“A6:HF10000”).Copy我试图将此行更改为:pvt_wb_Current.Sheet11.Range(“A6:HF10000”).Copy,但未成功。我可能得给它下定义?如果你能让我知道,那就太好了,因为除了我之外,其他人肯定会改变这张表的名称。谢谢
Sub Copy2RangesNewWorkbook()
Dim pvt_wb_New As Excel.Workbook
Dim pvt_ws_NewTarget1 As Worksheet
Dim pvt_ws_NewTarget2 As Worksheet
Dim pvt_ws_Current As Worksheet
Dim pvt_wb_Current As Workbook
Set pvt_ws_Current = ActiveSheet
Set pvt_wb_Current = ActiveWorkbook
Set pvt_wb_New = Application.Workbooks.Add
Set pvt_ws_NewTarget1 = pvt_wb_New.Sheets(1)
Set pvt_ws_NewTarget2 = pvt_wb_New.Worksheets.Add
pvt_ws_Current.Range("A2:AT10000").Copy
pvt_ws_NewTarget1.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
pvt_wb_Current.Sheets("Sheet11").Range("A6:HF10000").Copy
pvt_ws_NewTarget2.Range("A6").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub