返回列表 上一主題 發帖

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

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

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

saveCSVfmURL(1).rar (12.05 KB)

saveCSVfmURL(1).rar (12.05 KB)

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

TOP

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

TOP

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

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

本帖最後由 GBKEE 於 2011-7-23 09:09 編輯

回復 10# Hsieh

謝謝Hsieh回復及教學讓我解決問題.
請問另外思考方式:是否可利用建立sheet工作表方式(參考證交所內有年度休市日期)將各年度(如:2002-2011年)特定假日製作表格讓程式執行過程可先判斷其表格內範圍值是否相同再執行.(因為年度假日中有部分彈性休假及補交易日因素,同時像端午 中秋 農曆春節各年度日期並不同)
謝謝
日期表格如附件(非交易日不開盤 補交易日(經常是利用星期六)
saveCSVfmURL(1).rar (14.61 KB)

TOP

回復 13# Hsieh


謝謝 Hsieh 及GBKEE兩位教導 !
請教如何將一個資料夾內很多筆的csv檔(名稱為日期樣式 20110103ms.csv  20110104ms.csv-------)依 年度 月份 第幾周分門別類
例如 c:/test/2011/01/第一周,c:/test/2011/01/第二周 --- c:/test/2011/02/第一周 c:/test/2011/02/第二周-----
因為需要觀察長短期成交量金額
謝謝

TOP

利用下列vba將數千個csv檔(同一資料夾內)依年度月份建立資料夾
想請問程式碼中#6列A = Mid(F, InStr(F, "2004"))  中2004為手動輸入(程式碼編輯視窗/偵錯/逐行) ,是否有其他方式可改善!
謝謝         
Sub Ex()  
    Dim fs As Object, F As Object, A$, MyPath$
    MyPath = ThisWorkbook.Path                           
   Set fs = CreateObject("Scripting.FileSystemObject")   
    For Each F In fs.GetFolder(MyPath).Files
        If InStr(F, ".csv") Then   
            A = Mid(F, InStr(F, "2004"))            
            'A = Replace(A, ".csv", "")               
           ' A = Replace(A, "-", "\")               
            If fs.FolderExists(MyPath & "\" & Mid(A, 1, 4)) = False Then
             ChDir MyPath                        
            MkDir MyPath & "\" & Mid(A, 1, 4)              
            End If
            If fs.FolderExists(MyPath & "\" & Mid(A, 1, 4) & "\" & Mid(A, 5, 2)) = False Then                      ChDir MyPath & "\" & Mid(A, 1, 4)
                MkDir MyPath & "\" & Mid(A, 1, 4) & "\" & Mid(A, 5, 2)
            End If
            'If fs.FolderExists(MyPath & "\" & A) = False Then   
                'ChDir MyPath & "\" & Mid(A, 1, 7)
               ' MkDir MyPath & "\" & A
            'End If
            fs.moveFile F, MyPath & "\" & Mid(A, 1, 4) & "\" & Mid(A, 5, 2) & "\"  
        End If
    Next
    ChDir MyPath                                   
End Sub

TOP

回復 15# ten999
參考 Hsieh 教學  檔案操作範例 (Dir / Filesystem Object  Dir 進階應用範例列出指定目錄之下所有的子資料夾內容)
將數個資料夾(2004\04\200404total.xls -- 2004\05\200405total.xls--2005\01\200501total.xls----下數個特定檔案(*\*\*total.xls)列表於sheet1內!

請問如何依序開啟這些檔案(*total.xls)將固定的程式碼(附件內模組:module3)寫入這些檔案內執行特定工作後關閉!
謝謝!

saveCSVfmURL(1).rar (25.27 KB)

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題