返回列表 上一主題 發帖

[發問] 請教VBA路徑變數設定

[發問] 請教VBA路徑變數設定

本帖最後由 x7776658 於 2021-11-11 21:26 編輯

我是VBA初學者,需要請教各位VBA前輩們
指令碼如下,而我希望能夠將'D:\test\ i \[test.xlsx]工作表1'的i是變數,加入於迴圈之中
但執行結果不如預期,路徑無法變成變數

Sub 巨集1()

Dim i
For i = 1 To 2 Step 1
Range("a" & i & ":d" & i).Formula = "='D:\test\ i \[test.xlsx]工作表1'!A1:D1"
Range("a" & i & ":d" & i).Formula = Range("a" & i & ":d" & i).Value

Next

End Sub

回復 1# x7776658


Sub test()
FPath = "D:\test\i\test.xlsx"
With Workbooks.Open(FPath)
    '您的主程式需求,因為您的寫法有問題
    '所以無法得知您實際的需求
    .Close
End With
End Sub

TOP

回復 2# samwang    

D:\test\   有兩個資料夾,分別是D:\test\1  及  D:\test\2,這兩個資料夾都有test.xlsx


我希望能把不同資料夾的excel資料(叫做test.xlsx)整合至一個excel ( 叫做total.xlsm),如下圖所示


謝謝

TOP

回復 3# x7776658

可以提供附件,想要整合2個檔案的結果為什麼樣子,謝謝

TOP

回復 4# samwang
您好

D:\test\1\test.xlsx


D:\test\2\test.xlsx


整合至
D:\test\total.xlsm


謝謝

TOP

回復 5# x7776658

請測試看看,謝謝

Sub test()
For i = 1 To 2
    FPath = "D:\test\" & i & "\test.xlsx"
    With Workbooks.Open(FPath)
         Arr = Range("a1:d1")
        .Close
    End With
    Range("a" & i).Resize(, 4) = Arr
Next
End Sub

TOP

回復 6# samwang

執行成功,謝謝大大無私分享

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題