[Office] VBA Practice

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.Hide
End Sub

Private Sub btnOK_Click()
    
    ClickedByOK = True
    Me.Hide
End 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 SUB
Debug输出 Debug.Print
For循环 For i = 1 To 100
' Logic
Next i
Do/While循环 Do While t > 0
Loop
While循环 While t > 0
Wend

 

posted @ 2013-12-11 17:50  会拍照能修图的码农  阅读(202)  评论(0)    收藏  举报