日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EXCEL不同表头的多表合并VBA

發布時間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EXCEL不同表头的多表合并VBA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下內容學習連接:https://www.dazhuanlan.com/2019/10/23/5daf62ca917ed/?cf_chl_jschl_tk=b45aabfc01845564414cd15df99773357e2b075d-1583998221-0-AU2bmCw-wjZrAd6gGfVAgxlIoiB8Wv7zJlwYiHkktbJbtjMS9Hdbz77AYZOs9M_23-thCgszRinc8t6CNjli4pJ-jXidocAUGoRwR2N6Ho1701DTfBW4hiBra_vFXDgXiCn7EwsiXnB7yPNMIxfn235AJKwBb59MIp_Xb236p_qvdii-TfQ6zOpr6Z2jDQFS-9gDDrHAql2QtI58xsbjUkyzNK-aQ7pLHDJ1gS7zCFpIyZFIAn8SOnzUzB_P6n97KSrLdwVux88s_3kYj6dNHq09drqLf8itrcpcvu9tpOFtfuOKYEP0eDQhtZy20ofkXw

應用背景

  • 同一個EXCEL工作表下有多個表頭不一樣(順序/列名不一樣)的sheet,需要把所有不一樣的sheet合并到一張總表,參考第一個sheet的表頭的順序格式,后邊的表列名一致則合并,列名不一致,在最后一列增加新的列

即:

  • 列標題與數據是一一對應的,來自哪個表的數據就對應行標題來自哪個表格
  • 列標題匯總了所有的列標題(項目名稱),避免了重復
  • 數據填充在相應的單元格,沒有數據的地方就留空
  • VBA實現代碼

    Sub combin() Dim d As Object Dim newst As Worksheet Dim sh As Worksheet Dim m Dim r, r2 Dim iSet d = CreateObject("scripting.dictionary")Set newst = Sheets.Add newst.Name = "合并" m = 2 For Each sh In SheetsIf sh.Name <> "合并" ThenFor i = 1 To sh.UsedRange.Columns.CountIf Not d.exists(sh.Cells(1, i).Value) Thend(sh.Cells(1, i).Value) = mm = m + 1End IfNext iEnd If Next shnewst.Range("A1") = "工作表" newst.Range(Cells(1, 2), Cells(1, d.Count + 1)) = d.keysFor Each sh In SheetsIf sh.Name <> "合并" Thenr = newst.UsedRange.Rows.Count + 1For i = 1 To sh.UsedRange.Columns.Countsh.UsedRange.Columns(i).Offset(1).Copy newst.Cells(r, d(sh.Cells(1, i).Value))Next ir2 = newst.UsedRange.Rows.Countnewst.Range("A" & r & ":A" & r2) = sh.NameEnd If Next shSet d = NothingEnd Sub

    總結

    以上是生活随笔為你收集整理的EXCEL不同表头的多表合并VBA的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。