我有这两本工作簿 .
我想将第一个工作簿中的某些列的数据传输到工作簿2中的给定工作表 .
我收到运行时错误(1004) . 方法“对象范围”工作表失败
我在代码中的这一行收到错误
SummarySheet.Range(columnaddress & "8:" & columnaddress & lastrow).Copy
Here's the complete code .
Sub RectangleRoundedCorners1_Click()
Application.ScreenUpdating = False
Dim MacroBook As Workbook, SummaryBook As Workbook, BSSBook As Workbook, _
SummarySheet As Worksheet, TwoGonlyER As Worksheet, threeGswapRoll As Worksheet, _
threeGswapER As Worksheet, fourGprData As Worksheet, threeGpRData As Worksheet
Dim onlyER As Range, rolloutER As Range, swapER As Range, prData As Range, _
gPRdata As Range, FolderPathForSummary As String, lastrow As Integer
Set MacroBook = ThisWorkbook
'Summary Book Open
FolderPathForSummary = MacroBook.Worksheets("Tool").Range("D8")
FolderPath = MacroBook.Worksheets("Tool").Range("D11")
If Dir(FolderPath, vbDirectory) = "" Then
MsgBox "Please enter a valid folder path to save the file!"
Exit Sub
End If
If Not Dir(FolderPathForSummary) "" Then
MsgBox " Summary file doesn't exist in your mentioned address. Please check again! "
Exit Sub
End If
Set SummaryBook = Workbooks.Open(FolderPathForSummary)
Set SummarySheet = SummaryBook.Worksheets("Summary Data")
lastrow = SummarySheet.Cells(Rows.Count, "A").End(xlUp).Row
'BSS Tracker Open
Set BSSBook = Workbooks.Add
BSSBook.SaveAs (FolderPath & "BSS Tracker " & Format(CStr(Now), "ddmmmyyyyhhmmss") & ".xlsx")
MacroBook.Worksheets("2G Only ER").Copy before:=BSSBook.Sheets(1)
Set TwoGonlyER = BSSBook.Worksheets("2G Only ER")
MacroBook.Worksheets("3G Swap & 4G ROllout ER").Copy before:=BSSBook.Sheets(1)
Set threeGswapRoll = BSSBook.Worksheets("3G Swap & 4G ROllout ER")
MacroBook.Worksheets("3G & 4G Swap ER").Copy before:=BSSBook.Sheets(1)
Set threeGswapER = BSSBook.Worksheets("3G & 4G Swap ER")
MacroBook.Worksheets("4G PR Data").Copy before:=BSSBook.Sheets(1)
Set fourGprData = BSSBook.Worksheets("4G PR Data")
MacroBook.Worksheets("3G PR Data").Copy before:=BSSBook.Sheets(1)
Set threeGpRData = BSSBook.Worksheets("3G PR Data")
Set swapER = threeGswapER.Range("A3:P3")
For Each entry In swapER
columnaddress = entry.Value
SummarySheet.Range(columnaddress & "8:" & columnaddress & lastrow).Copy
entry.PasteSpecial
Next entry
BSSBook.Save
BSSBook.Close
SummaryBook.Save
SummaryBook.Close
MsgBox "BSS Tracker successfully generated!"
End Sub