中文字幕日韩一区_久久久精品久久久久_国产一区中文字幕_亚洲欧美日本国产

一鍵操作將Excel工作薄數據匯總到一個工作表(如何把工作簿的數據匯總到第一張表)

我們有時候需要將在同一個文件夾下的多個工作薄的數據到同一個工作表當中,首先我們需要確認的是這些數據的格式是否具有一致性,如果所有的數據格式都是一樣的,那么這個問題就非常好處理了。
的方法其實非常多,SQL、Power Qurey法,方法。相比前兩種方法,VBA有更好的靈活性。每個的數據處理方法都不一樣,做法都不一樣。因此我們今天和大家分享的是通過VBA代碼來解決這個問題。但是對于我們大部分來說,這個是一件非常痛苦的事情。要么自己的去寫代碼,要么到網上找代碼,然后修改。
舉一個例子:
Test文件夾下有3個工作簿,每個工作薄的第一個表的數據格式都是一致的。
目前我們的需求是將Test文件夾下的所有工作薄的sheets1的數據匯總到總表中。
您只需要將以下代碼復制到Excel的VBE窗口的模塊中,然后執行程序即可。

Sub?wktest()

????Dim?Trow&,?k&,?arr,?brr,?i&,?j&,?book&,?a&

????Dim?p$,?f$,?Rng?As?Range

????With?Application.FileDialog(msoFileDialogFolderPicker)

????'取得用戶選擇的文件夾路徑

????????.AllowMultiSelect?=?False

????????If?.Show?Then?p?=?.SelectedItems(1)?Else?Exit?Sub

????End?With

????If?Right(p,?1)?<>?"\"?Then?p?=?p?&?"\"

????'

????Trow?=?Val(InputBox("請輸入標題的行數",?"提醒"))

????If?Trow?<?0?Then?MsgBox?"標題行數不能為負數。",?64,?"警告":?Exit?Sub

????Application.ScreenUpdating?=?False?'關閉屏幕更新

????Cells.ClearContents?'清空當前表數據

????Cells.NumberFormat?=?"@"?'設置單元格格式為文本

????ReDim?brr(1?To?200000,?1?To?1)

????'定義裝匯總結果的數組brr,最大行數為20萬行

????f?=?Dir(p?&?"*.xls*")

????'開始遍歷指定文件夾路徑下的每個工作簿

????Do?While?f?<>?""

????????If?f?<>?ThisWorkbook.Name?Then?'避免同名文件重復打開出錯

????????????With?GetObject(p?&?f)

????????????'以\'只讀\'形式讀取文件時,使用getobject方法會比workbooks.open稍快

????????????????Set?Rng?=?.Sheets(1).UsedRange

????????????????If?IsEmpty(Rng)?=?False?Then?'如果工作表非空

????????????????????book?=?book?+?1?'標記一下是否首個Sheet,如果首個sheet,BOOK=1

????????????????????a?=?IIf(book?=?1,?1,?Trow?+?1)?'遍歷讀取arr數組時是否扣掉標題行

????????????????????arr?=?Rng.Value?'數據區域讀入數組arr

????????????????????If?UBound(arr,?2)?>?UBound(brr,?2)?Then

????????????????????'動態調整結果數組brr的最大列數,避免明細表列數不一的情況。

????????????????????????ReDim?Preserve?brr(1?To?200000,?1?To?UBound(arr,?2))

????????????????????End?If

????????????????????For?i?=?a?To?UBound(arr)?'遍歷行

????????????????????????k?=?k?+?1?'累加記錄條數

????????????????????????For?j?=?1?To?UBound(brr,?2)?'遍歷列

????????????????????????????brr(k,?j)?=?arr(i,?j)

????????????????????????Next

????????????????????Next

????????????????End?If

????????????????.Close?False?'關閉工作簿,不保存。

????????????End?With

????????End?If

????????f?=?Dir?'下一個工作簿

????Loop

????If?k?>?0?Then

????????[a1].Resize(k,?UBound(brr,?2))?=?brr

????????MsgBox?"匯總完成。"

????End?If

????Application.ScreenUpdating?=?True?'恢復屏幕更新

End?Sub

一鍵操作將Excel工作薄數據匯總到一個工作表(如何把工作簿的數據匯總到第一張表)

一鍵操作將Excel工作薄數據匯總到一個工作表(如何把工作簿的數據匯總到第一張表)Excel工作薄數據匯總到一個工作表代碼.txt

溫馨提示:本站提供的一切軟件、教程和內容信息都來自網絡收集整理,僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負,版權爭議與本站無關。用戶必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序和內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件與我們聯系處理。敬請諒解!

給TA打賞
共{{data.count}}人
人已打賞
域名主機

限制Excel數據使用時間,到期自動銷毀(excel終止)

2025-3-10 17:11:10

域名主機

怎么破解保護工作表和保護工作簿密碼?

2025-3-10 17:11:16

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 兴宁市| 盐城市| 抚顺县| 祥云县| 汉川市| 清远市| 澄江县| 五华县| 介休市| 河北省| 揭东县| 沾化县| 米泉市| 从化市| 深泽县| 松溪县| 南溪县| 阿坝| 长泰县| 茌平县| 自贡市| 湟中县| 兰州市| 隆化县| 嫩江县| 鸡东县| 淮滨县| 台前县| 上虞市| 平度市| 新邵县| 义乌市| 扎鲁特旗| 浑源县| 嘉黎县| 蓬安县| 武城县| 灵石县| 顺昌县| 改则县| 安阳市|