返回列表 上一主題 發帖

[發問] excel用vba依序開啟檔案

回復 1# xoofer


    試試看
  1. Sub test()
  2. Dim filename As String
  3. Dim i As Integer
  4. For i = 1 To 2
  5. filename = Workbooks("book1.xls").Sheets("sheet1").Cells(i, 1).Value
  6. Workbooks.Open filename
  7. Next
  8. End Sub
複製代碼

TOP

回復 4# xoofer


    先說一下workbooks("xxxxx")抓不到的原因,應該是因為你這個檔只是一個暫時新增的檔案,
    並未儲存在電腦中,所以才會造成這種狀況,如果是已經有儲存的excel表,就不會了。
    再來你每次的語法都有一個盲點,就是你都沒有指定是要哪一個檔案的某格值,所以你雖然開了第一個檔案vbatest1,
    但是系統已經跳開了你原本的檔案,而執行到vbatest1上了,但vbatest1上並沒有你想要的路徑,所以vbatest2就開不了了。
    所以你如果要在不同檔案或工作表間切換執行的時候,記得要給個明確的指令,才不會造成混亂。
  1. Sub test()
  2. Dim filename As String
  3. Dim i As Integer
  4. For i = 1 To 2
  5. filename = ThisWorkbook.Sheets("sheet1").Cells(i, 1).Value
  6. Workbooks.Open filename
  7. Next
  8. End Sub
複製代碼

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題