- 帖子
- 32
- 主題
- 10
- 精華
- 0
- 積分
- 68
- 點名
- 0
- 作業系統
- win xp
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 南投縣
- 註冊時間
- 2010-9-28
- 最後登錄
- 2019-10-4
 
|
也許有大大會質疑,其實如上樓所述的需求,只要簡單的copy就可以了,幹嘛如此大費周章呢?其主因係吾人一直以來對陣列的操作不甚熟稔想藉此練習使用index,TRANSPOSE等函數。經過一早上的摸索,似乎已有些斬獲,目前可得到自己的需求,但存有小bug。情形是依如下的代碼執行後會造成sheet3的b欄形成空白,但我明明是從b1開始的,不知有哪位大大可為我解惑。謝謝!- Sub test1() '輸出前3列
- Dim rng1 As Range, data(33, 24), i%, j%
- With Sheet1
- .Select '之前因少了這列,使得結果都沒反應
- For i = 1 To 33
- For j = 1 To 12
- data(i, j) = Cells(i + 5, j + 8)
- Next
- Next
- For i = 1 To 33
test3.rar (16.69 KB)
- For j = 13 To 24
- data(i, j) = Cells(i + 50, j - 4)
- Next
- Next
- End With
- With Sheet3
- .Select
- Set rng1 = .Range("B1:AI3")
- End With
- For i = 1 To rng1.Rows.Count
- rng1.Rows(i) = Application.Index(Application.Transpose(data), i + 1)
- Next
- End Sub
複製代碼 |
|