VBA問題,每週要更新前一週資料的語法請教。?
大家好,我剛開始學寫VBA,目前碰到一個問題
我每週一要更新前一週五天的檔案,因為來源檔名是以日期命名,遇假日沒有檔案,
變成我的程式只能切成每週一段,碰到每月9日以內跟10日以上的日期還得拆兩段,
不知道有沒有比較有效率的語法,感謝大家!
註:
1.來源檔名為「每日彙總表20190701」、「每日彙總表20190702」....(依此類推)
2.目的檔名為「手續費收入【單月彙總】統計表(2019年7月)_單日、單月_月報整理」...(每月一個檔)
3.要做的事是將來源檔案中某欄位資料複製貼至目的檔中。
我的程式內容大致如下:
Sub 更新週報701_705()
Dim i As Integer, r As String, m As String
For i = 1 To 5 '(週報日期)
r = "07" '(每日彙總表月份)
m = "7" '(每月彙總表月份)
'開啟每日彙總表,複製D5:F76區塊資料
Workbooks.Open Filename:="D:\TL工作區\每日彙總表2019" & r & "0" & i & ".xls"
Sheets(1).Select
Range("D5:F76").Select
Selection.Copy
'回原單月彙總表,貼至D5:F76
Windows("手續費收入【單月彙總】統計表(2019年" & m & "月)_單日、單月_月報整理").Activate
Sheets(i & "日").Select
Range("D5:F76").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next
End Sub
1 個解答
- 2 年前最佳解答
增加一個資料夾存放已經更新過的..未更新的放在同目錄下
以下會把同目錄下的.xlsx都複製到目的地
Sub get_file()
DirPath = ThisWorkbook.Path
fs = Dir(DirPath & "\*.xlsx")
Do Until fs = ""
r = r + 1
FilNm = DirPath & "\" & fs
Workbooks.Open FilNm
shx = ActiveWorkbook.Name
''====步驟
''====
Windows(shx).Activate
ActiveWorkbook.Close False
fs = Dir
Loop
End Sub