返回列表 上一主題 發帖

[發問] 多簿多表匹配同名工作表中的相同列標題後複製

[發問] 多簿多表匹配同名工作表中的相同列標題後複製

各位前輩好!
請問想針對路徑中多工作簿匹配同名工作表以及相同列標題名稱後複製到當前活頁簿中要如何做??
----------------------------------------------------------------------------------------------------------
之前准大曾分享過兩表列標題匹配複製的案例,但變成多簿多表不知如何操作....
且同工作表下可能出現相同名稱之欄位.....
詳見範例檔,匹配同工作表名以及列標題後複製到Copy工作簿。
(Copy-當前活頁簿,Wb1.Wb2.為工作簿,裡面的S1,S2,S4為預計要複製的工作表,紅色為重複之列名稱。)
謝謝大家!!
TEST_20240103.zip (25.24 KB)

本帖最後由 Andy2483 於 2024-1-3 16:25 編輯

回復 1# shuo1125


    謝謝論壇,謝謝前輩發表此主題與範例
後學藉此帖練習字典與物件,學習方案如下,請前輩參考

Option Explicit
Sub TEST()
Dim Z, PH$, FN$, i&, C As Range, xB As Workbook, S As Worksheet
Set Z = CreateObject("Scripting.Dictionary")
For Each S In Worksheets
   For Each C In S.[1:1].SpecialCells(2): Set Z(S.Name & "|" & C) = ThisWorkbook.Sheets(S.Name).Range(C.Address): Next
Next
PH = ThisWorkbook.Path
Application.ScreenUpdating = False
Do
   If FN = "" Then FN = Dir(PH & "\*.xlsx") Else FN = Dir
   If FN = "" Then Exit Do
   'If FN = ThisWorkbook.Name Then GoTo DP
   Set xB = Workbooks.Open(PH & "\" & FN, ReadOnly:=True)
   For Each S In Worksheets
      For Each C In S.[1:1].SpecialCells(2)
         If Z.Exists(S.Name & "|" & C) = Empty Then GoTo C01
         C.EntireColumn.Copy Z(S.Name & "|" & C)
C01:  Next
   Next
   xB.Close 0
DP: Loop
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 1# shuo1125


執行前:


執行結果:
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 3# Andy2483
這撰寫的效率跟準確度驚人!!!
測試無誤,感謝Andy大一直以來的指導跟幫忙...

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題