Board logo

標題: [發問] 請問如何將不連續的儲存格設定為陣列 [打印本頁]

作者: mnsmrtl    時間: 2010-11-7 00:50     標題: 請問如何將不連續的儲存格設定為陣列

小弟在希望同時對數個儲存格作同樣的動作,但這些儲存格分布在不同工作表中
假設有sheet2.cells(2,"A") sheet4.cells(3,"B)...等
有沒有辦法用一個陣列,搭配迴圈作存取動作?
譬如
x(1)=sheet2.cells(2,"A")
x(2)=sheet4.cells(3,"B")
for i=1 to 2
 x(i)=......
next i
感謝
作者: Min    時間: 2010-11-7 01:37

Dim arrCell(1) As Object
Set arrCell(0) = Worksheets("Sheet1").Cells(1, 1)
Set arrCell(1) = Worksheets("Sheet2").Cells(1, 1)

搭配UBound及LBound去跑回圈...
作者: oobird    時間: 2010-11-7 15:28

例如:
a = Array(Sheet1.[a1], Sheet1.[b10], Sheet2.[a1], Sheet2.[c10], Sheet3.[b2])
For i = 0 To UBound(a)
a(i).Value = i
Next
作者: mnsmrtl    時間: 2010-11-7 21:02

感謝兩位大大的指導,我再試試看
作者: GBKEE    時間: 2012-1-4 20:56

回復 5# yagami12th
'UBound 函數    傳回 Long值,表示指定陣列某維最大可使用的陣列索引。
LBound 函數    傳回 Long值,表示指定陣列某維最小可使用的陣列索引。
  1. Sub Ex
  2. Dim AR(5 To 10, 7 To 9)  '二維陣列
  3. MsgBox UBound(AR)        '第一維
  4. MsgBox LBound(AR)
  5. MsgBox UBound(AR, 2)     '第二維
  6. MsgBox LBound(AR, 2)
  7. End Sub
複製代碼





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