Excel自定義菜單+VBA編碼使用樣例

本樣例操作環(huán)境為Microsoft office?Excel 2019?

本樣例目標:

在“我的工具欄_1”菜單點擊自定義按鈕“數(shù)據(jù)匯總示范”,使得自動新建”匯總表”,并且匯總表數(shù)據(jù)=Sheet1數(shù)據(jù)+Sheet2數(shù)據(jù)。最終效果如下圖所示:


圖1.自定義按鈕“不同表頭匯總”功能效果示意

實現(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.“Excel選項”對話框

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


圖3.“自定義功能區(qū)”工作界面

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


圖4.
圖5.

步驟一? ??新建Excel文件,在其中編寫數(shù)據(jù)匯總所需的VBA代碼

1)新建Excel文件,打開“開發(fā)工具”菜單,點擊”Visual Basic”,打開編碼環(huán)境,如圖6所示。


圖6.VBA編碼環(huán)境

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


圖7.

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


圖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所示.


圖9

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


圖10

步驟三??再新建一個Excel文件,將剛才保存的xlam文件中代碼勾選為“可用加載宏”

?1)在“開發(fā)工具”菜單,點擊“Excel加載項”按鈕,打開“加載”對話框。如圖11所示。


圖11

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


圖12

步驟四? ?自定義菜單“我的工具欄_1”

1)打開“文件”菜單,點擊“選項”按鈕,彈出如圖13所示對話框。


圖13.“Excel選項”對話框

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


圖14.“自定義功能區(qū)”工作界面

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


圖15.


圖16.

步驟五? ?添加“數(shù)據(jù)匯總示范”按鈕,并將已保存的xlam中代碼功能賦予此按鈕

1)? 選中已添加的“我的工具欄_1”下的“新建組”(見圖18);

2)? 在左側(cè)的“從下列位置選擇命令”下拉框中選擇“宏”(見圖17);

3)? 選中剛添加的xlam文件中的功能代碼名稱,點擊“添加”按鈕,從而將帶有此代碼功能的按鈕添加到“新建組”之下(見圖18);

4)? 選中新添加的按鈕,點擊“重命名”,修改圖標與按鈕名稱(見圖19),點擊“確定”;

5)? 可以看到已完成自定義按鈕添加(見圖20)。


圖17
圖18
圖19
圖20 完成自定義菜單與按鈕添加后效果

步驟六? ?在Excel文件中,新建Sheet1、Sheet2、…,并添加樣例數(shù)據(jù)

1)? ?新建多個Sheet頁,并分別賦予數(shù)據(jù)(見圖21-1 ~ 圖21-3);


圖21-1
圖21-2
圖21-3

步驟七? ?點擊“不同表頭匯總”按鈕,查看效果

1)? ?點擊“數(shù)據(jù)匯總示范”按鈕(見圖20),得到匯總數(shù)據(jù)(見圖22)。


圖22
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • EXCEL小白的進階之路 從16年3月申請的小號,到現(xiàn)在發(fā)表的微文,屈指可數(shù),糾結(jié)于想要好的內(nèi)容,好的頁面排版,然...
    Rachelhaha閱讀 1,452評論 0 0
  • 五、數(shù)據(jù)透視表的組合功能:快速編制月報、季報、年報 我們使用數(shù)據(jù)透視表進行統(tǒng)計分析時,它默認以字段下的每個唯一值作...
    夢幻天堂曉閱讀 2,238評論 0 3
  • 工作中使用Excel的原則是:實用至上,能簡單就不復(fù)雜,不求最好,但求最懶,用最快的方法解決問題,不必追求最...
    夢幻天堂曉閱讀 7,745評論 0 1
  • 最近,常有一些讀者和我互動,除了表達讀我文章的感受之外,還有不少的人是和我討論在人際交往中的種種困惑。 一個女生和...
    喚醒沉睡的豬閱讀 892評論 0 1
  • 我喜歡你自命不凡 目光灼灼 言語狠毒 唯獨那長發(fā) 飄逸柔順 你是個美人 像只高雅的天鵝 有這優(yōu)雅的舞姿 清秀的眉眼...
    九重鳥閱讀 267評論 0 5

友情鏈接更多精彩內(nèi)容