Excel自定义菜单+VBA编码使用样例

本样例操作环境为Microsoft office Excel 2019 

本样例目标:

在“我的工具栏_1”菜单点击自定义按钮“数据汇总示范”,使得自动新建”汇总表”,并且汇总表数据=Sheet1数据+Sheet2数据。最终效果如下图所示:


图1.自定义按钮“不同表头汇总”功能效果示意

实现以上目标,我们需要:

1、新建Excel文件,在其中编写数据汇总所需的VBA代码;

2、将Excel文件另存为扩展名为xlam的文件(使用默认保存路径,不要修改保存位置);

3、再新建一个Excel文件,将刚才保存的xlam文件中代码勾选为“可用加载宏”;

4、自定义菜单“我的工具栏_1”;

5、添加“不同表头汇总”按钮,并将已保存的xlam中代码功能赋予此按钮;

6、在Excel文件中,新建Sheet1和Sheet2,并添加样例数据;

7、点击“不同表头汇总”按钮,查看效果,实现图1结果,则成功;否则,失败(失败的话,再回过头看下哪一个步骤操作有问题,解决即可)。


具体步骤:

步骤零 添加“开发工具”菜单

如果您的Microsoft Excel工作表环境中已经有“开发工具”菜单,则可以跳过此步,进入“步骤一”;否则,需要添加“开发工具”菜单,具体操作如下

1)打开“文件”菜单,点击“选项”按钮,弹出如图2所示对话框。


图2.“Excel选项”对话框

2)点击“自定义功能区”按钮,打开工作界面如图3所示。


图3.“自定义功能区”工作界面

3)在右侧的“自定义功能区”勾选“开发工具”项,如图4所示;然后点击“确定”。即实现将“开发工具”添加到菜单中,如图5所示。


图4.
图5.

步骤一    新建Excel文件,在其中编写数据汇总所需的VBA代码

1)新建Excel文件,打开“开发工具”菜单,点击”Visual Basic”,打开编码环境,如图6所示。


图6.VBA编码环境

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)默认存储位置变为AddIns目录,将文件修改为合适文件名,将文件保存在此默认路径下即可,如图10所示。


图10

步骤三  再新建一个Excel文件,将刚才保存的xlam文件中代码勾选为“可用加载宏”

 1)在“开发工具”菜单,点击“Excel加载项”按钮,打开“加载”对话框。如图11所示。


图11

2)勾选已保存的xlam文件中代码所对应的“可用加载宏”名称(如图12所示),点击“确定”。


图12

步骤四   自定义菜单“我的工具栏_1”

1)打开“文件”菜单,点击“选项”按钮,弹出如图13所示对话框。


图13.“Excel选项”对话框

2)点击“自定义功能区”按钮,打开工作界面如图14所示。


图14.“自定义功能区”工作界面

3)在右侧的“自定义功能区”下方点击“新建选项卡”,如图15所示;然后重命名此选项卡为“我的工具栏_1”,如图16所示。


图15.


图16.

步骤五   添加“数据汇总示范”按钮,并将已保存的xlam中代码功能赋予此按钮

1)  选中已添加的“我的工具栏_1”下的“新建组”(见图18);

2)  在左侧的“从下列位置选择命令”下拉框中选择“宏”(见图17);

3)  选中刚添加的xlam文件中的功能代码名称,点击“添加”按钮,从而将带有此代码功能的按钮添加到“新建组”之下(见图18);

4)  选中新添加的按钮,点击“重命名”,修改图标与按钮名称(见图19),点击“确定”;

5)  可以看到已完成自定义按钮添加(见图20)。


图17
图18
图19
图20 完成自定义菜单与按钮添加后效果

步骤六   在Excel文件中,新建Sheet1、Sheet2、…,并添加样例数据

1)   新建多个Sheet页,并分别赋予数据(见图21-1 ~ 图21-3);


图21-1
图21-2
图21-3

步骤七   点击“不同表头汇总”按钮,查看效果

1)   点击“数据汇总示范”按钮(见图20),得到汇总数据(见图22)。


图22
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容