Excel 如何利用日期控件输入时间

來源:轉載

首先先在sheet1中插入一個日期控制項DTPicker(日期拾取器)

然後輸入代碼:

ThisWorkBook中的代碼:

Private Sub Workbook_Open()

'調整DTP控制項的大小

With Sheet1.DTPicker1

'設置DTP控制項的高度等於行高

.Height = Sheet1.Cells(1, 4).Height

'設置DTP控制項的寬度略大於第三列的寬度,使得DTP控制項的下拉按鈕在單元格外

'此處我們假設第三列的所有單元格的高度相同,否則在每次顯示DTP控制項時,

'都應根據當前單元格調整控制項大小

.Width = Sheet1.Cells(1, 4).Width + 18

.Visible = False

End With

End Sub

Sheet1中的代碼:

Private Sub DTPicker1_CloseUp()

'禁用事件,在將DTP控制項的值更新到單元格時,防止Worksheet_Change被誤激活

Application.EnableEvents = False

ActiveCell.Value = Me.DTPicker1.Value

Me.DTPicker1.Visible = False

'啟用事件

Application.EnableEvents = True

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

'判斷是否只選中了單個單元格

If Target.Count = 1 Then

'如果刪除第三列的單元格內容,則隱藏DTP控制項

If Target.Column = 3 And Target = "" Then

Me.DTPicker1.Visible = False

End If

End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count = 1 Then

Application.EnableEvents = False

If Target.Column = 4 Then

With Me.DTPicker1

.Visible = True

'調整DTP控制項的位置,使其顯示在當前單元格之中

.Top = Target.Top

.Left = Target.Left

If Target <> "" Then

'如果當前單元格已有內容,則設置DTP控制項初始值為當前單元格日期,否則為系統當前日期

.Value = Target.Value

Else

.Value = Date

End If

End With

Else

Me.DTPicker1.Visible = False

End If

Application.EnableEvents = True

End If

End Sub

代碼好了以後,在sheet1中,點擊第4列(也就是D列)的任意單元格,就會出現選擇時間的DTPicker

選擇以後,就會在單元格留下剛才選擇的日期。

怎麼樣,挺好玩的。哈

您可能感興趣的文章:
隨機閱讀: