0
我有,我想複製並投入包含此宏新工作簿中的多個列中的數據兩個工作簿。基本上我希望能夠打開當前工作簿「z」,運行宏並將數據從其他兩個現有工作簿移動/複製。Excel的VBA - 複製多個列從2個到工作簿簿1
我一直在這裏尋找身邊,看着來自不同崗位不同的想法,並認爲我已經非常想通了這一點,但我跑成「運行時錯誤1004」當我運行這段代碼。該錯誤發生在第一個y.Range線,我還沒有找出原因。
我已經成功地能夠從「X」工作簿中提取數據,而不是「Y」。
我是新來的VBA所以任何幫助將不勝感激。
感謝,
Sub SellPrice()
Dim x As Worksheet, y As Worksheet, z As Worksheet, LastRow&
Workbooks.Open ("C:\Users\tsmith\Desktop\SellPrice\PRODUCT.XLS")
Workbooks.Open ("C:\Users\tsmith\Desktop\SellPrice\GrossProfit.xls")
Set x = Workbooks("PRODUCT.XLS").Worksheets("ProductFile")
Set y = Workbooks("GrossProfit.xls").Worksheets("Sellprice")
Set z = Workbooks("SellPriceMacro.xlsm").Worksheets("Sheet1")
LastRow = x.Cells.SpecialCells(xlCellTypeLastCell).Row
x.Range("B4:B" & LastRow).Copy z.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
x.Range("C4:C" & LastRow).Copy z.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)
x.Range("K4:K" & LastRow).Copy z.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0)
LastRow = y.Cells.SpecialCells(xlCellTypeLastCell).Row
y.Range("B2:B" & LastRow).Copy z.Cells(Rows.Count, "E").End(x1Up).Offset(1, 0)
y.Range("C2:C" & LastRow).Copy z.Cells(Rows.Count, "F").End(x1Up).Offset(1, 0)
y.Range("D2:D" & LastRow).Copy z.Cells(Rows.Count, "G").End(x1Up).Offset(1, 0)
y.Range("H2:H" & LastRow).Copy z.Cells(Rows.Count, "H").End(x1Up).Offset(1, 0)
Application.CutCopyMode = False
End Sub
除非我正確讀您的回覆,該代碼應工作,因爲我把工作簿範圍之前,'y.Range' –
這能清理擺脫'Cells','排。伯爵,等等?我甚至嘗試運行刪除所有工作簿「x」行,但它仍然出現相同的錯誤。我在想可能是Workbook「y」? –
@ T.Smith它只是複製/粘貼到SO,還是你的代碼也有'.END(X1UP)'...請注意,這是一個'1'而不是'l'。 – BruceWayne