簡體   English   中英

宏:從兩個工作表復制數據,然后在第三個工作表中聯接

[英]Macro : Copy data from two Worksheets and Join together in third

我的Excel文件有多個標簽。 一張紙是“已安排員工訪問”,另一張是“已安排IERWAA查找”。 這兩個工作表都具有相同的數據(A到J列),但是它們從中提取不同的數據源(這就是為什么它們在兩個單獨的工作表中)。 標頭位於第1行,行數不固定。

我有第三個標簽“主”,我希望這兩個標簽中的數據相互附加顯示。 第1行將包含標題,這對於所有3張紙都相同。

我寫了一個宏,但它只是復制標題而不是數據。

Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Worksheets
    If Sht.Name = "Employee Access Arranged" Or Sht.Name = "IERWAA Lookup
    Arranged" Then
    Sht.Select

    LastRow = Range("A6553").End(xlUp).Row
    Range("A2", Cells(LastRow, "J")).Copy
    Sheets("Master").Select
    Range("A6553").End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste

Else
End If
Next Sh

有人可以幫忙我如何使其能夠從兩個工作表而不是標題中復制數據。 另外,由於行數發生了變化,我希望它具有動態性以自動拾取最后填充的行。

請注意: 這不是另一個問題的重復。 我不想只匹配兩個工作表中的值,而是匹配兩個工作表中的所有值。 此外,該問題是唯一的,因為大多數情況下最后一列“ J”可能沒有值,但整個列仍需要復制

先感謝您。

骯臟的貫穿我的頭頂:

dim i as long, lrs as long, lrd as long
for i = 1 to sheets.count
    if not sheets.name="Master" then 
        with sheets(i)
            lrs = .cells(.rows.count,1).end(xlup).row
            .range(.cells(2,"A"),.cells(lrs,"J")).copy
        end with
        with sheets("Master")
            lrd = .cells(.rows.count,1).end(xlup).row
            .cells(lrd+1,1).paste
        end with
    end if
next i

編輯1:

清理代碼以使其適用於兩個指定的工作表:

Dim i As Worksheet, arr As Variant, lrs As Long, lrd As Long
arr = Array("Employee Access Arranged", "IERWAA Lookup Arranged")
For Each i In Sheets(arr)
    With i
        lrs = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range(.Cells(2, "A"), .Cells(lrs, "J")).Copy
    End With
    With Sheets("Master")
        lrd = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range(.Cells(lrd + 1, "A"), .Cells(lrd + 1 + lrs, "J")).PasteSpecial xlValues
    End With
Next i

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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