開心生活站

位置:首頁 > IT科技 > 

利用vba實現多個excel工作簿快速合併方法是什麼

IT科技2.82W

Sub 合併數據()Dim n As IntegerSheets.Add before:=Sheets(1) '新建一個sheet,使得這個sheet用來存放結果,且是第一個

如何利用VBA實現多個Excel工作簿快速合併呢?下面就來簡單介紹一下其操作步驟。

材料/工具

VBA,Excel,電腦

'把要彙總的工作簿放在同一文件夾下,再建一個彙總工作簿,把下面代碼放入彙總工作簿中。 Sub ABCD() Dim lj As String Dim dirname As String Dim nm As String lj = ActiveWorkbook.Path nm = ActiveWorkbook.Name dirname = Dir(lj & "*.xls

方法

首先,按組合鍵“ALT+F11”打開VBE編輯器,在工程窗口下的“Microsoft Excel”對象進行單擊鼠標右鍵,再在彈出的框再進行如圖所示的操作。

1原始數據所在工作簿包含多個格式相同的工作表,只不過每個工作表內容不同,比如說不同人名的工作表數據或者不同部門填寫的數據。 2在原始數據同目錄下新建一個工作簿,建立兩個工作表,名稱分別爲“首頁”和“合併彙總表”。 3按Alt+F11進入VBA代碼

利用vba實現多個excel工作簿快速合併方法是什麼

然後,在其中粘貼下面的代碼:再進行保存。

可以在Excel表格中用下面的VBA程序實現: Sub Test() '打開當前目錄下文件,將Sheet1信息複製到彙總表上 Dim f$ Dim n& Mypath = ThisWorkbook.Path & "" f = Dir(Mypath & "*.xls*") Do While f > " " n = n + 1 Workbooks.Open Mypath & f Se

Sub 工作簿間工作表合併()

Sub CombineWorkbooks() Dim FilesToOpen, ft Dim x As Integer Application.ScreenUpdating = False On Error GoTo errhandler FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Micrsofe Excel文件(*.xlsx), *.xls", _ MultiSelect

Option Explicit

用一個VBA就可以實現的。 使用方法: 1、新建一個工作薄,將其命名爲你合併後的名字。 2、打開此工作保 3、在其下任一個工作表標籤上點擊右鍵,選擇“查看代碼”。 4、在打開的VBA編輯窗口中粘貼以下代碼: Sub 工作薄間工作表合併() Dim FileOpen

Sub hbgzb()

VBA就擅長這類的操作。當然,文件需要在指定的目錄中。你的數據還算規範,做起來沒問題。不知道你的表裏邊的時間點是否一致。如果一致就更好處理了。 寫這個VBA不免費,因爲需要耗費時間和精力的事。有意向的話可以私信。 另外,WPS免費版的不支

Dim sh As Worksheet, flag As Boolean, i As Integer, hrow As Integer, hrowc As Integer</p> flag = False

說千字,不如一附件 這裏有有我以前做的合併文件夾下所有工作簿(包含子目錄)到當前工作表的一個程序 樓主可以參考學習下.

For i = 1 To Sheets.Count

VBA就擅長這類的操作。當然,文件需要在指定的目錄中。你的數據還算規範,做起來沒問題。不知道你的表裏邊的時間點是否一致。如果一致就更好處理了。 寫這個VBA不免費,因爲需要耗費時間和精力的事。有意向的話可以私信。 另外,WPS免費版的不支

If Sheets(i).Name = "合併數據" Then flag = True

我就簡單的給你寫幾句代碼 剩下你自己補充 大概的思路就是 打開待合併的文件,取得workbook對象 然後操作這個打開的工作簿文件的某個表sheets(序號) 因爲你行數未固定 你可以循環累加X 直到空行再退出循環 X歸零 將單元格內容賦值到新表格中 也

Next

If flag = False Then

1、在表格中的加載項中找到“方方格子”選擇彙總拆分功能; 2、在下拉菜單中選擇“合併多表”; 3、選擇全部工作簿,然後選擇需要合併的工作表,不需要合併的,則不在前面勾選; 4、運行後會彈出信息,點擊確定,關閉 5、這樣,在一個新的工作表中,

Set sh = Worksheets.Add

請補充完善問題。 有很多不清楚的地方,如多個EXCEL表就是說多個文件嗎?,每個文件裏面有幾個工作表,是隻合併第一個還是全部,合併後如果工作表有同名時時該怎樣改名等等,細節問題要考慮清楚,否則代碼無法運行。

sh.Name = "合併數據"

這個問題有些大: 1、“多個工作簿”的的格式、結構是不是相同呢? 2、“多個工作簿”之間有沒有關聯呢? 3、“相同操作”發生在不同工作簿的相同位置還是不同位置? …… 解決思路: (如果多個工作簿的格式、結構相同、在相同位置操作),可以採用“錄

Sheets("合併數據").Move after:=Sheets(Sheets.Count)

如果是用EXCEL2010以上版本的話 將圖一、二粘貼到一起 再用數據透視表來做最快

End If

For i = 1 To Sheets.Count

VBA就擅長這類的操作。當然,文件需要在指定的目錄中。你的數據還算規範,做起來沒問題。不知道你的表裏邊的時間點是否一致。如果一致就更好處理了。 寫這個VBA不免費,因爲需要耗費時間和精力的事。有意向的話可以私信。 另外,WPS免費版的不支

If Sheets(i).Name <> "合併數據" Then

如果經常做這樣的表格,建議你下個“方方格子”,去百度下載安裝,安裝完後再打開表格就在你的表任務欄了,可以對工作表和工作簿進行拆分、彙總、合併等等,對數據分析幫助很大,一鍵就能拆分、合併等

hrow = Sheets("合併數據").UsedRange.Row

正常的啊 Sub 合併當前工作簿下的所有工作表()Application.ScreenUpdating = FalseFor j = 1 To Sheets.CountIf Sheets(j).Name ActiveSheet.Name ThenX = Range("A65536").End(xlUp).Row + 1Sheets(j).UsedRange.Copy Cells(X, 1)End IfNextRan

hrowc = Sheets("合併數據").UsedRange.Rows.Count

Sub 彙集數據() Dim s As Worksheet c=1 For Each s In ThisWorkbook.Worksheets With s If .Name "彙總表" Then '假設存放結果的工作表叫“彙總表”,如果不是請做相應修改 c = c + 1 For i=1 to 10 '假設你有10列數據要拷到彙總表 Sheets("彙總

If hrowc = 1 Then

Sub rm() For i = 1 To Sheet1.UsedRange.Rows.Count If Sheet1.Cells(i, 9) "" Then For j = 1 To 10 Sheet2.Cells(i, j) = Sheet1.Cells(i, j) Next End If If Sheet1.Cells(i + 1, 9) = "" Then If Sheet1.Cells(i, 9) "" Then k = i Sheet2.

Sheets(i).UsedRange.Copy Sheets("合併數據").Cells(hrow, 1).End(xlUp)

爲什麼要用VBA呢.我覺得反而把問題複雜化了 在EXCEL裏,可以自己設置一個快捷鍵當作合併單元格的快捷鍵 其他內容一樣的,還可以用格式刷,不比VB慢哦~~

Else

Sheets(i).UsedRange.Copy Sheets("合併數據").Cells(hrow + hrowc - 1, 1).Offset(1, 0)

涉及到多個工作薄合併 需要循環遍歷各個工作薄,使用dir或者文件系統fso 下面是參考資料:http://club.excelhome.net/thread-1258425-1-1.html

End If

End If

Next i

End Sub

最快速的方法就是複製粘貼,把所有表的內容複製、粘貼到一個新表中。 如果表的個數成千上萬,可以寫VBA代碼來完成這個複製、粘貼的過程,下面是我寫的代碼,可以ALT+F11之後粘貼使用: sub 宏1() dim i,n for i=2 to sheets.count n=sheets(1).u

利用vba實現多個excel工作簿快速合併方法是什麼 第2張

然後,關閉該窗口,打開Excel軟件,點擊界面上方的“開發工具”選項卡。

按ALT+F11調出VBA窗口,插入一個模塊,然後把下面的代碼複製進去。 Sub hz() Set NewSheet = Sheets.Add(Type:=xlWorksheet) '生成一個新表 Sheets(NewSheet.Index).Move Before:=Sheets(1) '將此新表移動到最前面 For i = 2 To Worksheets.Coun

利用vba實現多個excel工作簿快速合併方法是什麼 第3張

然後,點擊其下方選項中的“加載宏”。

您是想了解方法嗎?親,“如何用VBA”,這問題太大了~~~~,我努力回答一下吧~~~ 首先您最好把這300多個文檔放在同一個文件夾裏。然後,新建一個Excel文件,做一個宏,挨個打開文檔,判斷B1:C45是否爲空,然後複製到本文件裏或者直接關閉。 做這個

利用vba實現多個excel工作簿快速合併方法是什麼 第4張

然後,在彈出的框中選擇“工作簿間工作表合併“,再點擊其中的”執行“按鈕。

Sub 合併當前目錄下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = D

利用vba實現多個excel工作簿快速合併方法是什麼 第5張

然後,在彈出的窗口中選擇要合併的工作簿,再點擊”打開“即可。

Sub MultiModi()Dim wb As WorkbookDim ws As WorksheetDim fnfn = Dir("盤符:文件所在的完整路徑名*.xls") '取得第一個工作簿的文件名(如果是2007版,則後綴名請改爲 *.xlsx)Do While fn "" Set wb = Workbooks.Open(fn) '打開工作簿 For E

利用vba實現多個excel工作簿快速合併方法是什麼 第6張

這樣,多個工作簿就合併成一個了。

利用vba實現多個excel工作簿快速合併方法是什麼 第7張

擴展閱讀,以下內容您可能還感興趣。

如何用EXCEL中的VBA合併同一資料夾中,多個工作簿的同一個工作表?

說千字,不如一附件

 

這裏copy有有我以前做的合併文件夾下所有工作簿(包含子目錄)到當前工作表的一個程序百

樓主可以參考學習下度.

 

也可以把問題作爲內容(郵件主題一定要包含“Form”,本人以此爲依據辨別知非垃圾郵件,以免誤刪)、excel文件(去掉機密內容)作爲附件發來看道下 [email protected] 三零三三一三六 二七

求一個VBA,一個文件夾下多個Excel工作簿按條件範圍合併成一個工作表內?

VBA就擅長這類的操作。當然,文件需要在指定的目錄中。你的數襲據還算規範,做起來沒問題。不知道你的表裏百邊的時間點是否一致。如果一致就更好處理了。

寫這個VBA不免費,度因爲需要耗費時間和精力的事。有意向的話可以私信。

另外,WPS免費版的不支持VBA,需要使用問Excel。

如果數據規則,要求明確,通常在用VBA只用點一下按鈕,剩下的交給代碼去答操作了。

思路,就是循環各個文件,寫入對應的列和行。

如何將不同工作簿裏的內容合併到同一個表格裏面,VBA代碼是什麼

我就簡單的給你寫幾句代碼抄 剩下你自己補充 大概的思路就是 打開待合併的文件,取得workbook對象 然後操作這個打開的工作簿文件的某個表sheets(序號)  因爲你行數未固定 你可以循環累加X 直到知空行再退出循環 X歸零 將單元格內容賦值到新表格中 也是累加行數Y,因爲有多個文件Y不歸零Dim X1 As Workbook

Set X1 = Application.Workbooks.Open("文件路徑道.xlsx")

ThisWorkbook.Sheets(1).Cells(y, 1) = X1.Sheets(1).Cells(x, 1)追問請問文件路徑是指 放了我那幾個待合併文件的文件夾嗎?追答c:\test.xlsx

求一個vba合併excel時,如何將多個工作簿合併到一個新建指定工作表?

1、在百表格中的加載項中找到“方方格子”選擇彙總拆分功度能;

2、在下拉菜單中選擇“合併多表”;問

3、選擇全部工作簿,然後選擇需要合併的工答作表,不需要合併的,則不在前面勾選;

4、運行後會彈出信息,點擊專確定,關閉

5、這樣,在一個新屬的工作表中,就彙總了需要的數據。追問感謝回答,因公司裏的excel沒有更新,暫時還沒有這個功能。

所以只能用vba來實現。

現在就遇到了這個問題。

怎樣利用vba把多個excle表合併一個工作簿下

請補充完善問題。

有很多不清楚的百地方,度如多個EXCEL表就是說多個文件嗎?,每個文件裏面有幾個工作表,知是隻合併第一個還是全部,合併後如道果工作表有同名版時時該怎樣改名等等,細節問題要考權慮清楚,否則代碼無法運行。

標籤:合併 vba excel