[Office] VBA Practice

来源:互联网 发布:mvc.ezui数据表格 编辑:程序博客网 时间:2024/05/16 05:21

1. 使用DateTimePicker控件

VBA中默认的User Form的Toolbox中的控件并不包含DateTimePicker,是接受时间相关数据的输入,在Toolbox上右击“Additional Controls”,在弹出的对话框中选择“Microsoft Date and Time Picker Control 6.0”


2. User Form的返回值

默认情况下,User Form并没有返回值(有意思的是,MsgBox倒是有返回值),那如何判断弹出的对话框是被点击了OK按钮还是Cancel按钮呢?

一个简单的方法是,

(1) 在User Form的Module中定义全局变量

Public ClickedByOK As Boolean


(2) 在对应的按钮响应方法中设置该变量

Private Sub btnCancel_Click()    ClickedByOK = False    Me.HideEnd SubPrivate Sub btnOK_Click()        ClickedByOK = True    Me.HideEnd Sub

(3) 在窗口结束后判断该变量的值

    Dim dlg As New dlgRememberItem    dlg.Show        If dlg.ClickedByOK = False Then        Exit Sub    End If


3. 处理时间相关数据

因为VBA只提供了一个简单的Date 数据类型,这无疑给时间相关数据的处理带来了复杂度;

一个非常好的VBA中处理时间数据的资源: http://dmcritchie.mvps.org/excel/datetime.htm


4. 常用的一些语法

常用VBA语法退出Sub EXIT SUBDebug输出Debug.PrintFor循环For i = 1 To 100
' Logic
Next iDo/While循环Do While t > 0
LoopWhile循环While t > 0
Wend



0 0
原创粉丝点击