本文介紹在Excel中輸入日期時自動彈出日曆控制元件協助輸入的實現方法。
工具/原料
Excel/VBA
方法/步驟
在Excel中輸入日期時,如果能自動彈出一個日曆控制元件協助輸入,那真是一件美事!不僅為了提高工作效率,更能給人一個驚喜,驚喜之餘消除了工作疲勞,真是一舉多得!。
方法很簡單,跟我來動手做就好!
步驟1:新增日曆控制元件並設定檢視效果
插入一個使用者窗體:
開啟一個Excel文件-->右擊工作表標籤-->檢視程式碼-->在開啟的VBA視窗中工程視窗的空白處右擊-->插入-->使用者窗體。
定製使用者窗體、插入日曆控制元件:
把窗體名稱改成”F1“便於程式設計,窗體標題改成”日曆“,從工具箱中選日曆控制元件拖到窗體中,調整好位置和大小,調整好使用者窗體的大小。可隨時按F5檢視效果。
如果找不到工具箱,可從檢視選單中開啟;如果工具箱中沒有日曆控制元件,可右擊工具箱空白處新增。
步驟2:單擊事件程式程式碼設計
現在需要考慮:當點選圖中表色的單元格時,如何才能啟用前面設計好的日曆控制元件呢?
下面這段程式的作用就是:當點選標色單元格時,啟用日曆控制元件。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 And Target.Row >= 2 And Target.Row <= 10 And Target.Cells.Count = 1 Then '設定啟用單擊事件的單元格範圍。
F1.Show
Cells(Target.Row, Target.Column + 1).Select
End If
Application.EnableEvents = True
End Sub
在vba視窗中,雙擊sheet1物件,把這段程式複製到右面的程式碼視窗中。
步驟3:日曆控制元件程式程式碼
在vba視窗中,雙擊使用者窗體F1,再雙擊右面的日曆控制元件,在開啟的程式碼視窗中下面的程式碼複製進去。
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
Unload F1
End Sub
這段程式碼的作用是將日曆控制元件的日期值賦給剛才點選的單元格。
在日曆控制元件的程式碼視窗中新增下面的程式程式碼。
Private Sub UserForm_Activate()
F1.Top = Selection.Top + Calendar1.Height / 2
F1.Left = Selection.Left + Selection.Width + 30
End Sub
這段程式碼的作用是設定日曆控制元件視窗的位置。
注意事項
vba日曆控制元件應用例項文件下載地址: