林麗華
身邊有不少朋友都迷上了Office二次開發,平日里沒事就喜歡用VBA編寫些應用程序來提高自己的辦公效率,但也有半途而廢、不得要領的。如果能恰當、合理地使用VBA提供的自定義控件,不僅可以讓應用程序窗體變得更加美觀,同時也能使設計的應用更加的個性化、更加地方便用戶的使用。
小貼士
在默認的情況下,窗體控件工具箱中僅給出了常見的幾個控件,事實上,VBA的控件數量遠不止這些,用戶可以根據需要在控件工具箱上添加一些標準控件或自定義控件,也可以隨時刪除它們。
在錄入用戶的出生日期或查詢某個日期的數據時,我們經常會用到日歷控件或者日期控件。
在Excel VBA窗體的工具箱中沒有提供日歷控件,首次使用該控件時需要將其添加到窗體工具箱中。添加的方法是:打開VBE編輯器,首先在當前工作簿中插入一個用戶窗體。接下來單擊“工具”菜單的“附加控件”命令,打開“可用控件”對話框,在“可用控件”列表框中選擇“日歷控件 11.0”(Office版本為2003),單擊“確定”按鈕。此時在窗體工具箱中多出了一個“Calendar”(日歷) 控件。
實現的方法是:按“Alt+F11”組合鍵打開VBE編輯器,在當前工作簿中插入一個用戶窗體,利用日歷控件和按鈕控件設計的用戶界面(如圖1)。雙擊窗體中的命令按鈕,在其Click事件中編寫下面的代碼:
Private Sub CommandButton1_Click()
ActiveCell.Value = Calendar1.Value
UserForm1.Hide
End Sub
雙擊當前的工作表(如sheet1),在其SelectionChange事件中編寫下面的代碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'判斷用戶選中的是否為第3列
If Target.Column = 3Then
UserForm1.Show
End If
End Sub
輸入數據時,當用戶將光標移到到第3列即出生日期所在列時自動彈出用戶窗體,用戶選擇完日期并單擊“插入日期”按鈕后,所選日期自動插入到當前的單元格中,同時用戶窗體自動隱藏?!?br>