返回列表 上一主題 發帖

如何每日更新不同日期的檔案,順便計算儲存格數??

回復 1# zaq370
試試看
  1. Private Sub Workbook_Open()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. wb = Format(Date, "mmdd")
  4. With Workbooks.Open(ThisWorkbook.Path & "\" & wb & ".xls")
  5. With .Sheets(1)
  6. For Each a In .Range(.[I2], .[I2].End(xlDown))
  7.   d(a.Value) = d(a.Value) + 1
  8. Next
  9. End With
  10. .Close
  11. End With
  12. With Sheets(1)
  13. For Each a In .Range(.[A2], .[A2].End(xlDown))
  14. a.Offset(, 1) = d(a.Value)
  15. Next
  16. End With
  17. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 4# zaq370


    能理解a代表甚麼嗎?
了解a的意義,再去看offset函數的說明
d是一個字典物件變數,請先爬文了解Dictionary物件的用法
學海無涯_不恥下問

TOP

回復 7# zaq370

從檔案中無法跟你的敘述配合,請上傳檔案說明
學海無涯_不恥下問

TOP

回復 9# zaq370

應是檔名問題吧
myday = DateAdd("m", -1, Date) - (Weekday(DateAdd("m", -1, Date), vbMonday) - 5)
wb = Format(myday, "mmdd")
tt = Format(myday, "mm")
With Workbooks.Open(ThisWorkbook.Path & "\100" & tt & "\" & "NOC" + wb & ".xls")
學海無涯_不恥下問

TOP

回復 11# zaq370

myday = Application.WorkDay(DateAdd("m", -1, Date), IIf(Weekday(DateAdd("m", -1, Date), vbMonday) > 5, -1, 0))'前一個月
wb = Format(myday, "mmdd")
tt = Format(myday, "mm")
With Workbooks.Open(ThisWorkbook.Path & "\100" & tt & "\" & "NOC" + wb & ".xls")
不過這樣的情形如果大小月不同時不知道你要怎麼抓資料
學海無涯_不恥下問

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題