[英]Trying to copy specific range from many sheets in workbook to one sheet in another workbook vba excel?
[英]Excel VBA code to copy several ranges to specific sheet in another workbook
我在這里找到了一些代碼,可以將我的數據復制到另一個工作正常的工作表中。 我正在嘗試擴展它,以便它復制到另一個工作簿和特定工作表。
Sub Put_Data()
Dim lastrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
With Sheets("GasMe18-19")
lastrowDB = .Cells(.Rows.Count, "A").End(xlUp).row + 1
End With
arr1 = Array("A", "G", "H", "L")
arr2 = Array("Q", "R", "S", "T")
For i = LBound(arr1) To UBound(arr1)
With Sheets("GasMe18-19")
lastrow = Application.Max(4, .Cells(.Rows.Count, arr1(i)).End(xlUp).row)
.Range(.Cells(4, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("Sheet1").Range(arr2(i) & 2).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
如何修改它以將數據范圍放入另一個工作簿? 我把 Sheet1 放在家庭工作簿中,一切看起來都很好,我喜歡現有的代碼庫。 原始 Workbook.Worksheet 有 4 列數據,我每隔幾天就會添加一次。 然后我復制並粘貼到另一個 Workbook2.WorkSheet2 中進行繪圖。 我更喜歡將第 4 行的所有內容復制到 4 列的最后一行數據。
您需要使用相關工作簿來限定您的范圍
Dim wbSource As Workbook, wbTarget As Workbook
Set wbSource = ThisWorkbook
Set wbTarget = Workbooks("TheTargetWBName")
...
For i = LBound(arr1) To UBound(arr1)
With wbSource.Worksheets("GasMe18-19")
lastrow = Application.Max(4, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(4, arr1(i)), .Cells(lastrow, arr1(i))).Copy
wbTarget.Worksheets("Sheet1").Range(arr2(i) & 2).PasteSpecial xlPasteValues
End With
Next
請注意sheets("Sheet1").Range(arr2(i) & 2).PasteSpecial xlPasteValues
行現在如何使用先前聲明的變量wsTarget
完全符合目標工作簿的wsTarget
。 首先使用以下行將此變量設置為工作簿的名稱:
Set wbTarget = Workbooks("TheTargetWBName")
如果目標工作簿未打開,則您只需更改為
Set wbTarget = Workbooks.Open("TheTargetWBName")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.