[英]want to copy a range of columns from One Excel sheet to Another Excel sheet
我想將一系列列從一張 Excel 工作表復制到另一張 Excel 工作表。 到目前為止,我已經嘗試過,並且能夠找到我想要實際粘貼 Excel One 列范圍的單元格。 以下是我到目前為止設法編寫但無法復制和粘貼所需內容的腳本。 在這里需要你的幫助,因為我不太擅長 VB 宏。 在這里需要您的幫助或指導。
Sub CopyData()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim CopyLastRow As Long
Dim lastRow As Long
Set ws1 = Workbooks("u_mapping.xlsx").Worksheets("Sheet1")
Set ws2 = Workbooks("mapp_V1.xlsx").Worksheets("mapp")
CopyLastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
lastRow = ws2.Cells(ws2.Rows.Count, "T").End(xlUp).Row
For Each Cell In ws2.Columns(20).Cells
If Len(Cell) = 0 Then ws1.Range("A" & lCopyLastRow).Copy ws2.Range("T2"): Exit For
Next Cell
End Sub
以下是供您參考的示例數據。
到
期望是
如目標 Excel 工作表中所述,D 列已經有很少的條目存在於源 excel A 列中。因此,在我們必須小心的情況下,它會粘貼一個唯一的數據。
Option Explicit
Sub UpdateV1()
Const SRC_COLUMNS_COUNT As Long = 6
Dim sws As Worksheet: Set sws = Workbooks("u_mapping.xlsx").Sheets("Sheet1")
Dim slrrg As Range
Set slrrg = sws.Cells(sws.Rows.Count, "A").End(xlUp).Resize(, SRC_COLUMNS_COUNT)
Dim dws As Worksheet: Set dws = Workbooks("mapp_V1.xlsx").Sheets("mapp")
Dim dfCell As Range ' Your screenshot suggests column 'D' instead!
Set dfCell = dws.Cells(dws.Rows.Count, "T").End(xlUp).Offset(1)
Dim RowOffset As Long: RowOffset = dfCell.Row - slrrg.Row
If RowOffset > 0 Then Exit Sub
sws.Range(slrrg.Offset(RowOffset), slrrg).Copy dfCell
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.