簡體   English   中英

想要將一系列列從一張 Excel 工作表復制到另一張 Excel 工作表

[英]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

以下是供您參考的示例數據。

Source Excel One 復制數據

Excel二是粘貼數據的目的地

期望是

期望輸出

如目標 Excel 工作表中所述,D 列已經有很少的條目存在於源 excel A 列中。因此,在我們必須小心的情況下,它會粘貼一個唯一的數據。

Append 缺少行

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM