VBA問題,每週要更新前一週資料的語法請教。?

2019-07-26 9:41 am
大家好,我剛開始學寫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)

2019-07-26 2:45 pm
✔ 最佳答案
增加一個資料夾存放已經更新過的..未更新的放在同目錄下
以下會把同目錄下的.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
''資料來源參考http://forum.twbts.com/viewthread.php?tid=426


收錄日期: 2021-05-03 06:52:44
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20190726014123AAoYiBH

檢視 Wayback Machine 備份