vba操作多工作分表合併

2021-10-23 03:08:08 字數 1552 閱讀 4065

彙總分表資訊至一張總表,是資料分析相關工作中常遇到的事情,一般辦法是手動複製每個分表再貼上到彙總表裡,但利用以下vba**可以在excel中自動實現:

執行該步驟的目的是確保分表的順序正確,便於之後進行合併時的for迴圈

sub check()

dim check as worksheet

set check = sheets.add(after:=sheets(sheets.count)) '新增的表放在最後

check.name = "**目錄頁"

with check

.range("a1") = "**順序"

.range("b1") = "**名稱"

for i = 1 to sheets.count

if worksheets(i).name <> "**目錄頁" then .cells(i + 1, 1).value = cstr("sheet" & i)

if worksheets(i).name <> "**目錄頁" then .cells(i + 1, 2).value = cstr(sheets(i).name)

next i

end with

end sub

**可以放在thisworkbook中:

sub 合併()

dim sh as worksheet, a%, b%, j%, rss%, d%, st as worksheet

set sh = sheets.add(after:=sheets(sheets.count)) '新增的合併表放在最後

with sh

.name = "合併"

end with

sheets(1).usedrange.copy sh.cells(1, 1) '複製第乙個分表內容至合併表

b = sheets.count - 2

for j = 2 to b

sheets(j).activate

y = sh.range("a65536").end(xlup).row + 1

sheets(j).usedrange.copy sh.cells(y, 1)

next

end sub

使用注意:

1、每個分表的表頭內容和順序必須一致

2、新增的彙總表、**目錄頁都需要放到最後,這樣每乙個分表的順序才能保持不變,如果新增**目錄頁和合併表時不限定放在最後,那麼將預設**目錄頁和合併表分別為第1張、第2張表,其餘需要合併的分表順序將延後,以上for迴圈就需要再修改啦~

3、如果在合併之前明確分表順序沒有問題,那麼可以直接執行第二段合併**,但b值需修改為:

b = sheets.count -1
以上就是vba操作多工作分表合併的所有內容,如有錯誤或者不當之處,歡迎指正~

多工作簿合併計算

public sub quickconsolidatemethod 宣告變數 dim wb as workbook,openwb as workbook dim sht as worksheet,onesht as worksheet dim rng as range,onerng as range...

PHPExcel 多工作表 匯入

引數初始化 filepath if files file error 0 filepath files file tmp name 建立reader物件 this load library phpexcel phpreader new phpexcel reader excel2007 if php...

Excel多工作表頁碼連續設定

列印excel 2002工作表之前需要設定頁碼,如果多張工作表的頁碼必須連續排列,就得採用一些特殊的頁碼設定技巧。假設有名為sheet1 sheet2和sheet3的三張工作表,分別可以列印2 3 5頁,並且列印時每個工作表的內容要連線在一起。可以按以下方法設定頁碼 首先開啟工作表sheet1,單擊...