[英]Input box date range in vba?
我有一個excel文件,在第一列(A)我有一些這樣的日期:
17/10/2013
18/10/2013
19/10/2013
20/10/2013
21/10/2013
22/10/2013
其他列包含一些數據。 我需要創建一個輸入框,將日期范圍內的所有內容都包含在內。 我的意思是; 我點擊按鈕,它會顯示一個彈出窗口:
insert start date: 17/10/2013 (i can decide the date)
insert end date: 20/10/2013 (i can decide the date)
然后我可以放一個宏我已經完成了。 所以我的宏只讀取該范圍內的數據。 可能嗎?
您可以在使用表單中添加日期時間選擇器,並測試您的范圍的輸入,如下所示:
打開VBA和您想要輸入的表單。
在工具箱中右鍵單擊並選擇其他控件
然后在列表框中選擇Microsoft日期和時間選擇器控件:
將控件添加到您的表單:
然后在DTPicker1_Change()事件下設置如下代碼:
Private Sub DTPicker1_Change()
If DTPicker1.Value < DateSerial(2013, 10, 20) And DTPicker1.Value > DateSerial(2013, 10, 15) Then
Debug.Print "Put Your Code Here"
End If
End Sub
將日期更改為您自己的日期並添加您的代碼。
注意:此控件中有大量設置,從顏色到顯示類型,復選框,下拉樣式,默認值最小和最大日期。 此外,還可以根據區域設置應用自定義日期格式。
沒有特定的日期類型,因此您必須進行一些錯誤檢查。 以下是如何從用戶獲取日期的一個想法:
Dim dateString As String, TheDate As Date
Dim valid As Boolean: valid = True
Do
dateString = Application.InputBox("Enter A Date: ")
If IsDate(dateString) Then
TheDate = DateValue(dateString)
valid = True
Else
MsgBox "Invalid date"
valid = False
End If
Loop Until valid = True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.