返回列表 上一主題 發帖

[發問] 下個月新檔

本帖最後由 PJChen 於 2020-2-10 18:18 編輯

回復 15# 准提部林
回復 19# jcchiang

前一個程式結束後,我還要作後續的檔案處理,我延用之前的語法,一樣是測試4月份,
以工作表中的Sheets("1").Range("A2")的日期(2020/4/1),抓月底日
改為這樣,但為什麼紅色部份,仍無法執行?
Lastday = DateSerial(Year(BK.Sheets("1").Range("A2")), Month(BK.Sheets("1").Range("A2")), 0) '月底日
mDay = Day(Lastday)
For i = 1 To mDay
With BK.Sheets(i & "")
  1. Sub 下個月_理貨單_目的檔表頭值化()
  2. '比菲多理貨單
  3. Dim Lastday$, mDay%, BK As Workbook
  4. Dim myPath$, xFile$, i&

  5. Application.ScreenUpdating = False  '關閉屏幕更新
  6. Application.DisplayAlerts = False   '一般提警示訊息關閉
  7.     myPath = "U:\b\"                 '另存目的資料夾

  8.     xFile = Dir(myPath & "*.xlsx")          '目的資料夾檔名
  9.         Do While xFile <> ""
  10.             Application.DisplayAlerts = False       '一般提警示訊息關閉
  11.                 With Workbooks.Open(myPath & xFile)
  12.                     Set BK = Workbooks.Open(myPath & xFile) '開啟指定檔案
  13.                     Lastday = DateSerial(Year(BK.Sheets("1").Range("A2")), Month(BK.Sheets("1").Range("A2")), 0) '月底日
  14.                     mDay = Day(Lastday)
  15.                     For i = 1 To mDay   '在工作表中循環
  16.                         With BK.Sheets(i & "")
  17.                         .[G1] = .[G1].Value '值化
  18.                         .[A1] = .[A1].Value '值化
  19.                         End With
  20.                     Next i
  21.                         Sheets("1").Activate
  22.                         Range("P1:V2").ClearContents
  23.                         Sheets("1").Range("G1") = Sheets("2").Range("G1").Value
  24.                         ActiveWorkbook.Close True   '存檔後關閉檔案
  25.                 End With
  26.     xFile = Dir
  27.         Loop
  28.                 Application.ScreenUpdating = True   '打開屏幕更新

  29. End Sub
複製代碼

TOP

回復 21# jcchiang

好的,測試成功了
感謝

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題