VBA窗体练习

效果图

首先推荐一本VBA入门书籍:《别怕,EXCEL VBA其实很简单》,这个例子是书上关于窗体的。

从今年5月份接触VBA开始,最感兴趣的便是窗体与控件,因为感觉很神奇。然而excel的窗体感觉很简陋,期间我也接触了一点access,access的窗体感觉要现代化一点,所以迟迟没有动excel的窗体。这完全是按主观意愿出发的。

由于工作需要,平时接触excel的时间要远远大于access,而且在数据处理方面,excel要更灵活一点(比如复制粘贴以及函数运用),而且工作中没见过人用access,所以就优先学习了excel vba,等vba能在excel中灵活运用后,再回头看access,当然也推荐大家了解一点access这种关系型数据库。

言归正传,这个窗体是个简单的输入框,用了工作表激活事件,当激活(打开)工作表时激活窗体加载事件,窗体相当于画布,用标签,按钮,组合框,文本框这些控件画成。

所有窗体内控件代码都在窗体内代码完成,当加载窗体时,将组合框也就是性别输入的的内容加入组合框的列表中,输入内容,单击确定时,窗体内容输入到对应单元格,然后清空窗体内控件的内容,当单击退出时退出窗体。

代码如下:


Private Sub Worksheet_Activate()

Load UserForm1'加载窗体

'UserForm1.Show vbModal 显示窗体模式则单元格不可编辑

UserForm1.Show vbModeless '显示无窗体模式

Range("a1") = "姓名"

Range("b1") = "性别"

Range("c1") = "出生年月"

End Sub

'以下代码在窗体鼠标右键单击查看代码中输入

Private Sub UserForm_Initialize()'在窗体加载过程中运行

性别.List = Array("男", "女")

End Sub

Private Sub 确定_Click()

If 姓名.Value = "" Or 性别.Value = "" Or 出生年月.Value = "" Then

MsgBox "信息输入不完整,请重新输入!", vbExclamation, "错误提示"

Exit Sub

End If

Dim xrow As Integer

xrow = Range("a1").CurrentRegion.Rows.Count + 1'这句用法头一次见

Cells(xrow, "a") = 姓名.Value

Cells(xrow, "b") = 性别.Value

Cells(xrow, "c") = 出生年月.Value

姓名.Value = ""

性别.Value = ""

出生年月.Value = ""

End Sub

Private Sub 退出_Click()

Unload Me

End Sub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。