Board logo

標題: 如何使用陣列到不同sheet抓取資料 [打印本頁]

作者: yueh0720    時間: 2013-12-4 11:56     標題: 如何使用陣列到不同sheet抓取資料

各位大大,
請問該如何使用陣列到不同sheet抓取資料
檔案如附件
[attach]16956[/attach]
作者: ML089    時間: 2013-12-4 17:52

回復 1# yueh0720
是這樣嗎?
  1. Private Sub Update_Click()
  2.     Dim y&, xR As Range, uP$, uF$
  3.     xRange = Array("$C$5", "$D$10", "$J$21", "$J$26")
  4.     uP = ThisWorkbook.Path & "\"
  5.     Application.ScreenUpdating = False
  6.     For Each xR In Range([A2], [A65536].End(3))
  7.         If Dir(uP & xR) = "" Then GoTo 101
  8.         uF = "'" & uP & "[" & xR & "]Sheet1'!"
  9.         j = 2
  10.         For Each xC In xRange
  11.             xR(1, j) = "=" & uF & xC
  12.             j = j + 1
  13.         Next
  14. 101:
  15.     Next
  16. End Sub
複製代碼

作者: yueh0720    時間: 2013-12-5 15:14

ML089 大,
沒辦法~分頁無法複製
作者: ML089    時間: 2013-12-5 21:06

回復 3# yueh0720
  1. Private Sub Update_Click()
  2.     Dim y&, xR As Range, uP$, uF$
  3.     xRange = Array("Sheet1'!C5", "Sheet1'!D10", "Sheet1'!J21", "Sheet1'!J26", _
  4.                    "第三頁'!C5", "第三頁'!D10", "第三頁'!J21", "第三頁'!J26", _
  5.                    "第七頁'!C5", "第七頁'!D10", "第七頁'!J21", "第七頁'!J26")
  6.    
  7.     uP = ThisWorkbook.Path & "\"
  8.     Application.ScreenUpdating = False
  9.     For Each xR In Range([A2], [A65536].End(3))
  10.         If Dir(uP & xR) = "" Then GoTo 101
  11.         uF = "'" & uP & "[" & xR & "]"
  12.         j = 2
  13.         For Each xC In xRange
  14.             xR(1, j) = "=" & uF & xC
  15.             j = j + 1
  16.         Next
  17. 101:
  18.     Next
  19. End Sub
複製代碼

作者: ML089    時間: 2013-12-5 21:09

回復 3# yueh0720

如果你對那層樓有意見時,請按該層樓下方的回覆,這樣系統才會通知。
作者: Hsieh    時間: 2013-12-6 08:45

回復 1# yueh0720
  1. Private Sub Update_Click()
  2. Dim y&, xR As Range, uP$, uF$, Ar(), Sh As Worksheet
  3. uP = ThisWorkbook.Path & "\"
  4. Application.ScreenUpdating = False
  5. With Sheet1
  6. For Each xR In .Range(.[A2], .[A65536].End(3)).SpecialCells(xlCellTypeConstants)
  7.     If Dir(uP & xR) = "" Then GoTo 101
  8.     With Workbooks.Open(uP & xR)
  9.        For Each Sh In .Sheets
  10.        With Sh
  11.          ReDim Preserve Ar(s)
  12.          Ar(s) = Array(.[C5].Value, .[D10].Value, .[J21].Value, .[J26].Value)
  13.          s = s + 1
  14.        End With
  15.        Next
  16.     .Close 0
  17.     End With
  18. xR.Offset(, 1).Resize(s, 4) = Application.Transpose(Application.Transpose(Ar))
  19. Erase Ar: s = 0
  20. 101: Next
  21. End With
  22. End Sub
複製代碼

作者: yueh0720    時間: 2013-12-24 17:20

回復 5# ML089


    了解,謝謝告知




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)