標題:
[發問]
初學不才,請問這如何簡化?
[打印本頁]
作者:
dakiu
時間:
2016-6-1 13:57
標題:
初學不才,請問這如何簡化?
各位老師好:
以下是我跨檔案依指定儲存格值而取的另一檔案儲存格值所寫,但是.........我要從F4......G4......H4.....一直做到Z4,RANGE()的變動不會寫,只能一直COPY做.....:'(
還請老師指導....感謝!
Public Sub test()
Range("f4:f9") = "='D:\Desktop\a\[" & [F2] & ".xlsm]b'!" & [$d4] & ""
Range("f10:f14") = "='D:\Desktop\a\[" & [F2] & ".xlsm]b'!" & [$d10] & ""
Range("f15:f20") = "='D:\Desktop\a\[" & [F2] & ".xlsm]b'!" & [$d15] & ""
Range("g4:g9") = "='D:\Desktop\a\[" & [G2] & ".xlsm]b'!" & [$d4] & ""
Range("g10:g14") = "='D:\Desktop\a\[" & [G2] & ".xlsm]b'!" & [$d10] & ""
Range("g15:g20") = "='D:\Desktop\a\[" & [G2] & ".xlsm]b'!" & [$d15] & ""
end sub
作者:
ML089
時間:
2016-6-1 21:02
回復
1#
dakiu
Public Sub test2()
For Each xR In [F1:Z1]
Range(xR(4), xR(9)) = "='D:\Desktop\a\[" & xR(2) & ".xlsm]b'!" & [$d4] & ""
Range(xR(10), xR(14)) = "='D:\Desktop\a\[" & xR(2) & ".xlsm]b'!" & [$d10] & ""
Range(xR(15), xR(20)) = "='D:\Desktop\a\[" & xR(2) & ".xlsm]b'!" & [$d15] & ""
Next
End Sub
作者:
luhpro
時間:
2016-6-1 22:02
本帖最後由 luhpro 於 2016-6-1 22:04 編輯
回復
1#
dakiu
也可以寫這樣 :
Public Sub test()
Dim iI%, iC%, iR%, vR()
iC = 6
vR = Array(4, 10, 15, 21)
While iC <= 26
For iI = 0 To 2
iR = vR(iI)
Range(Cells(iR, iC), Cells(vR(iI + 1) - 1, iC)) = _
"'D:\Desktop\a\[" & Cells(2, iC) & ".xlsm]b'!" & Cells(iR, 4) & ""
Next
iC = iC + 1
Wend
End Sub
複製代碼
作者:
dakiu
時間:
2016-6-2 07:35
謝謝2位指導,會在細心研究學習了!感謝
作者:
dakiu
時間:
2016-6-2 10:20
回復
2#
ML089
版大,能否再請教?
1)資料都放在同一資料夾,如果此資料夾移動後,這 'D:\Desktop\a\ 能否自動變更位置?
再次求教,感謝!
作者:
ML089
時間:
2016-6-2 13:34
回復
5#
dakiu
可以使用 ThisWorkbook.Path 來替代
ThisWorkbook.Path 為程式檔案的目錄位置
作者:
dakiu
時間:
2016-6-2 14:12
回復
6#
ML089
謝謝版大,解決了...感謝指導!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)