本樣例操作環(huán)境為Microsoft office?Excel 2019?
本樣例目標:
在“我的工具欄_1”菜單點擊自定義按鈕“數(shù)據(jù)匯總示范”,使得自動新建”匯總表”,并且匯總表數(shù)據(jù)=Sheet1數(shù)據(jù)+Sheet2數(shù)據(jù)。最終效果如下圖所示:

實現(xiàn)以上目標,我們需要:
1、新建Excel文件,在其中編寫數(shù)據(jù)匯總所需的VBA代碼;
2、將Excel文件另存為擴展名為xlam的文件(使用默認保存路徑,不要修改保存位置);
3、再新建一個Excel文件,將剛才保存的xlam文件中代碼勾選為“可用加載宏”;
4、自定義菜單“我的工具欄_1”;
5、添加“不同表頭匯總”按鈕,并將已保存的xlam中代碼功能賦予此按鈕;
6、在Excel文件中,新建Sheet1和Sheet2,并添加樣例數(shù)據(jù);
7、點擊“不同表頭匯總”按鈕,查看效果,實現(xiàn)圖1結(jié)果,則成功;否則,失?。ㄊ〉脑挘倩剡^頭看下哪一個步驟操作有問題,解決即可)。
具體步驟:
步驟零 添加“開發(fā)工具”菜單
如果您的Microsoft Excel工作表環(huán)境中已經(jīng)有“開發(fā)工具”菜單,則可以跳過此步,進入“步驟一”;否則,需要添加“開發(fā)工具”菜單,具體操作如下
1)打開“文件”菜單,點擊“選項”按鈕,彈出如圖2所示對話框。

2)點擊“自定義功能區(qū)”按鈕,打開工作界面如圖3所示。

3)在右側(cè)的“自定義功能區(qū)”勾選“開發(fā)工具”項,如圖4所示;然后點擊“確定”。即實現(xiàn)將“開發(fā)工具”添加到菜單中,如圖5所示。


步驟一? ??新建Excel文件,在其中編寫數(shù)據(jù)匯總所需的VBA代碼
1)新建Excel文件,打開“開發(fā)工具”菜單,點擊”Visual Basic”,打開編碼環(huán)境,如圖6所示。

2)[雙擊當前文件的Sheet1,打開編碼界面,如圖7所示。

3)將VBA代碼,寫入編碼界面,保存文件(Ctrl+S),如圖8所示。

VBA代碼如下:
Sub combin()
Dim d As Object
Dim newst As Worksheet
Dim sh As Worksheet
Dim m
Dim r, r2
Dim i
Set d =CreateObject("scripting.dictionary"
Set newst = Sheets.Add
newst.Name = "匯總表"
m = 2
For Each sh In Sheets
??? Ifsh.Name <> "匯總表" Then
???????For i = 1 To sh.UsedRange.Columns.Count
???????????If Not d.exists(sh.Cells(1, i).Value) Then
???????????????d(sh.Cells(1, i).Value) =m
??????????????? m = m + 1
???????????End If
???????Next i
??? EndIf
Next sh
newst.Range("A1") = "工作表"
newst.Range(newst.Cells(1, 2), newst.Cells(1,d.Count + 1)) = d.keys
For Each sh In Sheets
??? Ifsh.Name <> "匯總表" Then
???????r = newst.UsedRange.Rows.Count + 1
???????For i = 1 To sh.UsedRange.Columns.Count
???????????sh.UsedRange.Columns(i).Offset(1).Copy newst.Cells(r, d(sh.Cells(1,i).Value))
???????Next i
???????r2 = newst.UsedRange.Rows.Count
???????newst.Range("A" & r & ":A" & r2) =sh.Name
??? EndIf
Next sh
Set d = Nothing
End Sub
步驟二??將Excel文件另存為擴展名為xlam的文件
1)打開“文件”-->“另存為”對話框,選擇存儲格式為擴展名為xlam的文件,如圖9所示.

2)默認存儲位置變?yōu)锳ddIns目錄,將文件修改為合適文件名,將文件保存在此默認路徑下即可,如圖10所示。

步驟三??再新建一個Excel文件,將剛才保存的xlam文件中代碼勾選為“可用加載宏”
?1)在“開發(fā)工具”菜單,點擊“Excel加載項”按鈕,打開“加載”對話框。如圖11所示。

2)勾選已保存的xlam文件中代碼所對應(yīng)的“可用加載宏”名稱(如圖12所示),點擊“確定”。

步驟四? ?自定義菜單“我的工具欄_1”
1)打開“文件”菜單,點擊“選項”按鈕,彈出如圖13所示對話框。

2)點擊“自定義功能區(qū)”按鈕,打開工作界面如圖14所示。

3)在右側(cè)的“自定義功能區(qū)”下方點擊“新建選項卡”,如圖15所示;然后重命名此選項卡為“我的工具欄_1”,如圖16所示。


步驟五? ?添加“數(shù)據(jù)匯總示范”按鈕,并將已保存的xlam中代碼功能賦予此按鈕
1)? 選中已添加的“我的工具欄_1”下的“新建組”(見圖18);
2)? 在左側(cè)的“從下列位置選擇命令”下拉框中選擇“宏”(見圖17);
3)? 選中剛添加的xlam文件中的功能代碼名稱,點擊“添加”按鈕,從而將帶有此代碼功能的按鈕添加到“新建組”之下(見圖18);
4)? 選中新添加的按鈕,點擊“重命名”,修改圖標與按鈕名稱(見圖19),點擊“確定”;
5)? 可以看到已完成自定義按鈕添加(見圖20)。




步驟六? ?在Excel文件中,新建Sheet1、Sheet2、…,并添加樣例數(shù)據(jù)
1)? ?新建多個Sheet頁,并分別賦予數(shù)據(jù)(見圖21-1 ~ 圖21-3);



步驟七? ?點擊“不同表頭匯總”按鈕,查看效果
1)? ?點擊“數(shù)據(jù)匯總示范”按鈕(見圖20),得到匯總數(shù)據(jù)(見圖22)。
