使用ms office excel的時候經常遇到:
(1)需要將多個 excel 檔案進行合併;
(2)需要將多個 sheet 進行合併;
這裡給出最佳答案。當然您得需要會使用巨集(micro)。
功能一:合併excel檔案
sub combineworkbooks()
dim filestoopen, ft
dim x as integer
on error goto errhandler
(filefilter:="micrsofe excel檔案(*.xls), *.xls", _
multiselect:=true, title:="要合併的檔案")
if typename(filestoopen) = "boolean" then
msgbox "沒有選定檔案"
end if
x = 1
while x <= ubound(filestoopen)
set wk = workbooks.open(filename:=filestoopen(x))
wk.sheets().move after:=thisworkbook.sheets _
(thisworkbook.sheets.count)
x = x + 1
wend
msgbox "合併成功完成!"
errhandler:
end sub
功能二:合併任意的 sheet
合併之前,請先建立乙個空白的 sheet 作為合併目標 sheet ,這個 sheet 必須是第乙個 sheet 哦。
如果不合併標題行(比如第一行)則 j=1 改為 j=2
如果資料不是從第一行,或者第一列開始的,請修改 j=1 及 k=2 兩行的引數。
比如 j=2 k=3 表示從 第2行,第三列開始的資料。
sub combinesheet()
dim i, j, k, n as integer
n = 1
for i = 2 to thisworkbook.sheets.count
for j = 1 to thisworkbook.sheets(i).usedrange.rows.count
for k = 1 to thisworkbook.sheets(i).usedrange.columns.count
thisworkbook.sheets(1).cells(n, k).value = thisworkbook.sheets(i).cells(j, k).value
next k
n = n + 1
next j
next i
end sub
實際上,為了去掉 excel 的所有超連結,也可以使用這個函式啊。
多個excel工作簿 工作表合併
功能描述 合併當前資料夾下面所有excel,包括每乙個工作簿與每乙個工作簿下面的每乙個工作表 步驟 1 所有表的每個sheet需要表頭一致 2 所有表需要放在乙個資料夾下面 3 該程式會合併當前資料夾下面所有字尾名為指定字尾名的資料 4 在該資料夾下面新建乙個同樣字尾名的excel 5 開啟新建的 ...
Excel合併工作表,載入巨集
sub 合併sheets n 12 源表個數,根據需要修改!nstart 9 每個單錶資料的開始行數,根據需要修改!k nstart 目標表的行標 for i 1 to n irow nstart 行標 while sheets i cells irow 1,2 後面個1以第2列資料的最後1行是空作...
合併多個excel工作簿
合併多個excel工作簿,會出現 號碼以科學計數法顯示,如果想要以字串方式處理,要按如下完整 public static void mergeworkbook throws exception hssfsheet sheetcreat wbcreat.createsheet bookname she...