- 帖子
- 162
- 主題
- 44
- 精華
- 0
- 積分
- 244
- 點名
- 0
- 作業系統
- windows 7
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-4-4
- 最後登錄
- 2022-10-3

|
16#
發表於 2011-5-10 22:34
| 只看該作者
謝謝 Hsieh 大!剛剛試著去 run 自己的工作檔案,只傳回4欄的資料是ok的,如果我從 Sheet1 抓回的資料改成32欄(公司的資料很龐大),用一個迴圈去跑陣列,結果就沒辦法正常執行了,是陣列的因素嗎?我記得好像在哪裡看過文章說明,陣列的"欄"是不能用迴圈去跑的。是這樣嗎?- Sub ex()
- Set d = CreateObject("Scripting.Dictionary")
- With Sheet1
- For Each a In .Range(.[B5], .[B56636].End(xlUp))
- For i = 1 To 32
- d(a & "") = Array(a.Offset(, i).Value) ', a.Offset(, 2).Value, a.Offset(, 3).Value, a.Offset(, 4).Value)
- Next i
- Next
- End With
- With Sheet2
- For Each a In .Range(.[D12], .[D56636].End(xlUp))
- For Each ky In d.keys
- If InStr(a, ky) > 0 Then a.Offset(, 12).Resize(, 32) = d(ky): Exit For
- Next
- Next
- End With
- End Sub
複製代碼 |
|