多语言展示
当前在线:582今日阅读:86今日分享:14

EXCEL VBA窗体化编程

excel日常操作足以应付大量的数据处理需求?我告诉您,excel日常操作的数据处理能力的确很强大,但我个人认为,没有学习vba,你的excel操作能力不算高手。学会vba 这真是excel的另一高度,而熟悉VBA窗体化编程才算excel的进阶高手。下面介绍一下VBA窗体制作简单的日记登记小程序。
工具/原料

微软office2007的excel

方法/步骤
1

1,打开微软excel2007,点击红圈打开

2

2、将宏全性设置为“启用所有宏”。

3

3、点击红圈,打开VBA编程界面

4

4、插入—>用户窗体,出现如下界面

5

5、按图中caption 的Userform1 修改为“日记账登账界面”

6

6、鼠标双击窗体红圈位置

7

7、按图中1步在框是选择 Initialize ,出现第2这个过程代码

8

8、在工程代码中输入下面的代码Private Sub UserForm_Initialize()Application.WindowState = xlMaximizedActiveWindow.WindowState = xlMaximizedUserForm1.Height = Application.HeightUserForm1.Width = Application.WidthMe.Left = 0Me.Top = 0End Sub下图红圈中的代码

9

9、双击userform1,如图红圈,返回窗体

10

10、在窗体界面下,点击工具箱中的标签(如图红圈),再在窗体上生成“标签”如图蓝色圈位置

11

11、点击窗体中的“label1”,再在左边属性窗口中的caption的值“label1”修改为“日期:”,如此类推,生成“摘要:”、“收/付:”、“金额”,效果图如下

12

12、再按照添加“标签”的方法,添加4个文本框和1个“按钮”键,效果如下图:

13

13、按图顺序,1、点击按键;2、在左边属性框输入“确定”

14

14、点击窗体中的“按键”,出现过程代码,如图

15

15、要过程中输入如下代码:Dim k As IntegerWith ThisWorkbook.Sheets('sheet1')     If .Cells(1, 1) = '' Then         .Cells(1, 1) = '日期'         .Cells(1, 2) = '摘要'         .Cells(1, 3) = '借方'         .Cells(1, 4) = '贷方'         .Cells(1, 5) = '余额'     End IfEnd Withk = ThisWorkbook.Sheets('sheet1').End(xlUp).RowWith ThisWorkbook.Sheets('sheet1')     .Cells(k + 1, 1) = CDate(Me.TextBox1.Value)     .Cells(k + 1, 2) = Me.TextBox2.Value     If Me.TextBox3.Value = '收' Then        .Cells(k + 1, 3) = Val(Me.TextBox4.Value)     Else        .Cells(k + 1, 4) = Val(Me.TextBox4.Value)     End If     If k = 1 Then        .Cells(k + 1, 5) = Val(.Cells(k + 1, 3)) - Val(.Cells(k + 1, 4))     Else        .Cells(k + 1, 5) = Val(.Cells(k + 1, 3)) - Val(.Cells(k + 1, 4)) + Val(.Cells(k, 5))     End IfEnd WithMsgBox '本笔已录入'不容质疑我的代码是否正确,绝对运行正常(我编程14年以上,熟练)效果如下:

16

16、保存文件,文件后缀为选择.xlsm格式,关闭文件再点击打开这文件,看效果如何?日记账程序可以运行了,你可以输入数据了。

推荐信息