|
▼カリーニン さん:
>試してませんが、セルに名前を定義して、その名前を使う、というのはどうでしょう?
ありがとうございます。
新発見でした。これだとかなり、大きいセル範囲が取得できますね!!
が、これでも限界はありそうです。
Sub test1()
Dim rng As Range
Dim add As String
Dim st As Double
Dim idx As Long, jdx As Long
st = Now()
add = "=" & Cells(1, 1).Address(False, False)
For idx = 1 To 44 Step 2
For jdx = 3 To 20 Step 2
add = add & "," & Cells(idx, jdx).Address(False, False)
Next
Next
Debug.Print Len(add)
Names.add Name:="aaaa", RefersTo:=add
Range("aaaa").Select
MsgBox Format(Now() - st, "hh:mm:ss")
End Sub
>For idx = 1 To 44 Step 2
Excel2010で idxが 44だと正常に処理できますが、45では、Names.addの箇所でエラーに成りました。
これを使えば 長いセル範囲(セルアドレス)を操作したい時に Unionの回数は減らせそうです
|
|