返回列表 上一主題 發帖

[發問] 如何利用迴圈或其他方式選取日期範圍自動輸入inputbox

[發問] 如何利用迴圈或其他方式選取日期範圍自動輸入inputbox

請問如何利用迴圈或其他方式選取一日期範圍自動輸入inputbox對話方塊內
因為手動輸入日期太多
謝謝
我想要取得三大法人金額統計(證交所)

saveCSVfmURL(1).rar (12.05 KB)

saveCSVfmURL(1).rar (12.05 KB)

回復 1# ten999
  1. Sub testCr()
  2. Dim selDate As String
  3.     selDate = InputBox("日期(格式為yyyy/mm/dd)" & "請輸入一個日期")
  4.     Do Until Not selDate Like "????/??/??"
  5.     saveCSVfmURL CDate(selDate)
  6.     selDate = InputBox("日期(格式為yyyy/mm/dd)" & "請輸入一個日期")
  7.     Loop
  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

謝謝Hsieh教導,使我輸入資料較方便.
另外再次請問我可只輸入 "開始"日期 及"結束"日期 就好嗎?
再次感謝!

TOP

補充說明:可請教各位先進
如何利用"日期時間"等excel公式自動抓取非工作天日期範圍及數量!

TOP

樓主~ 建議你~ 如果有需要人幫你再處理後續問題~
可以用[回復]的方式~ 這樣Hsieh大大才會知道你還有問題還沒有處理好~
他有時間會再幫你處理~
學習才能提升自己

TOP

請問我是否可以只輸入"開始及結束日期"就好,因為日期範圍較大
同時有非工作日天數問題

TOP

回復 6# ten999
這問題並沒甚麼大技巧
就單純使用INPUTBOX作為輸入起始日期與結束日期
用迴圈For....Next敘述
  1. Sub testCr()
  2. Dim selDate As Date,起始日期 as Date, 結束日期 as date
  3. 起始日期=inputbox("輸入起始日期")
  4. 結束日期=inputbox("輸入 結束日期")
  5. For selDate=起始日期 to 結束日期
  6. saveCSVfmURL selDate
  7. Next
  8. End Sub
複製代碼
學海無涯_不恥下問

TOP

考慮星期六 星期日 利用weekday函數取得星期六日
    Sub testCr()
Dim selDate As Date, 起始日期 As Date, 結束日期 As Date
起始日期 = InputBox("輸入起始日期")
結束日期 = InputBox("輸入 結束日期")
For selDate = 起始日期 To 結束日期
If Weekday(selDate) = 1 Then
Debug.Print selDate
ElseIf Weekday(selDate) = 7 Then
Debug.Print selDate
ElseIf Weekday(selDate) = 2 Then
saveCSVfmURL selDate
ElseIf Weekday(selDate) = 3 Then
saveCSVfmURL selDate
ElseIf Weekday(selDate) = 4 Then
saveCSVfmURL selDate

ElseIf Weekday(selDate) = 5 Then
saveCSVfmURL selDate

ElseIf Weekday(selDate) = 6 Then
saveCSVfmURL selDate
End If
Next
End Sub

TOP

補充說明:
上列程式可否其他方式簡化
及如何取得特定假日(如:元旦 228 ......)
謝謝!

TOP

本帖最後由 Hsieh 於 2011-7-19 14:12 編輯

回復 9# ten999

建議使用假期表列方式
判斷迴圈中變數 是否為假期表內日期
  1. Sub testCr()
  2. Dim selDate As Date, 起始日期 As Date, 結束日期 As Date, 假期
  3. 假期 = Array("01/01", "02/28", "04/05", "10/10")
  4. 起始日期 = InputBox("輸入起始日期")
  5. 結束日期 = InputBox("輸入 結束日期")
  6. For selDate = 起始日期 To 結束日期
  7. If Weekday(selDate, 2) <= 5 And IsError(Application.Match(Format(selDate, "mm/dd"), 假期, 0)) Then saveCSVfmURL selDate
  8. Next
  9. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題