使用VBA將多個工作簿的資料合併到乙個檔案中

2022-05-17 19:51:32 字數 1441 閱讀 2831

新建個彙總檔案, 執行vba**合併

vba**如下:

sub

合併目錄所有工作簿全部工作表()

dimmp, mn, aw, wbn, wn

dim wb as

workbook

dimi, a, b, d, c, e

mp = activeworkbook.path '

獲取當前工作薄的路徑

mn = dir(mp & "

\" & "

*.xls

") '

遍歷excel檔案

aw = activeworkbook.name '

獲取當前工作簿名稱

num = 0

e = 1

dowhile mn <> ""

if mn <> aw then

set wb = workbooks.open(mp & "

\" &mn)

a = a + 1

with workbooks(1

).activesheet

for i = 1

tosheets.count

'複製工作表內容

if sheets(i).range("

a1") <> ""

then

wb.sheets(i).range("a1

").resize(1, sheets(i).usedrange.columns.count).copy .cells(1, 1)

d =wb.sheets(i).usedrange.columns.count

c = wb.sheets(i).usedrange.rows.count - 1

'增加一列

wn =wb.sheets(i).name

.cells(

1, d + 1) = "表名"

.cells(e + 1, d + 1).resize(c, 1) = mn &wn

e = e +c

wb.sheets(i).range("a2

").resize(c, d).copy .cells(.range("

a1048576

").end(xlup).row + 1, 1)

endif

next

wbn = wbn & chr(13) &wb.name

wb.close

false

endwith

endif

mn = dir

loop

range("a1

").select

msgbox

"共合併了

" & a & "

個工作薄下全部工作表。如下:

" & chr(13) & wbn, vbinformation, "提示"

end sub

VBA 合併多個工作簿

合併多個工作薄,並以工作薄的名字給sheet表命名 每個工作薄只有一張表 subtest dimstr asstring dim wb as workbook str dir c users administrator desktop 6.3 6.7 xls for i 1 to100 set wb...

使用VBA合併多個Excel工作簿

有許多實現excel工作簿合併的方法,在 將多個工作簿中的資料合併到乙個工作簿 中介紹過合併工作簿的示例。下面再列舉幾個示例,供有興趣的朋友參考。例如,需要將多個excel工作簿中的工作表合併到乙個工作簿。這裡假設需要合併的工作簿在 d 示例 資料記錄 資料夾中,含有兩個工作簿test1.xls t...

使用VBA將Excel工作表分割成多個檔案

有乙個 具體資料如下圖所示。這裡需要按城市 即b列資料 對 進行拆分,拆分出多個以城市名稱命名的xlsx檔案,每個xlsx檔案都只包含當前城市的資料。之前沒有接觸過excel相關的程式設計,也沒有學習過vb語言,完全是摸著石頭過河。在這裡把期間使用過的一些資料羅列下,方便以後再次用到的時候,可以快速...