Vba 工作簿之间的复制范围
我试图将一个工作簿中工作表上的一系列单元格复制到另一个工作簿中工作表的底部。我在复制行中不断得到“应用程序定义或对象定义错误”Vba 工作簿之间的复制范围,vba,excel,Vba,Excel,我试图将一个工作簿中工作表上的一系列单元格复制到另一个工作簿中工作表的底部。我在复制行中不断得到“应用程序定义或对象定义错误” Dim NewFileName As String Dim BAHFileName As String NewFileName = "Filename" BAHFileName = "Other Filename" LastRow = Sheets("All").UsedRange.Rows.Count Workbooks(NewFileName).Sheets("
Dim NewFileName As String
Dim BAHFileName As String
NewFileName = "Filename"
BAHFileName = "Other Filename"
LastRow = Sheets("All").UsedRange.Rows.Count
Workbooks(NewFileName).Sheets("All").Range(Cells(2, 1), Cells(LastRow, 15)).Copy
Windows(BAHFileName & ".xlsx").Activate
LastRow = Workbooks(BAHFileName).Sheets(1).UsedRange.Rows.Count + 1
Workbooks(BAHFileName).Sheets(1).Cells(LastRow, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
复制之前,我需要选择工作表
Dim NewFileName As String
Dim BAHFileName As String
NewFileName = "Filename"
BAHFileName = "Other Filename"
LastRow = Sheets("All").UsedRange.Rows.Count
Sheets("All").Select
Workbooks(NewFileName).Sheets("All").Range(Cells(2, 1), Cells(LastRow, 15)).Copy
Windows(BAHFileName & ".xlsx").Activate
LastRow = Workbooks(BAHFileName).Sheets(1).UsedRange.Rows.Count + 1
Workbooks(BAHFileName).Sheets(1).Cells(LastRow, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
自言自语
使用此代码练习以避免使用选择
我不确定您的工作簿的情况,因此您必须相应地调整工作簿名称和工作表名称
Sub Button1_Click()
Dim WB As Workbook
Dim bk As Workbook
Dim LastRow As Long
Dim Lrow As Long
Dim rng As Range
Dim ws As Worksheet
Dim sh As Worksheet
Set WB = ThisWorkbook
Set bk = Workbooks("MyWorkbook.xlsx")
Set ws = WB.Sheets("All")
Set sh = bk.Sheets(1)
With ws
LastRow = .UsedRange.Rows.Count
Set rng = .Range(.Cells(2, 1), .Cells(LastRow, 15))
End With
With sh
Lrow = .UsedRange.Rows.Count + 1
rng.Copy .Cells(Lrow, 1)
End With
End Sub
你自己想出来的真是太棒了!谢谢我正在尽力。