| 
    
     |  | ▼カリーニン さん: >試してませんが、セルに名前を定義して、その名前を使う、というのはどうでしょう?
 ありがとうございます。
 
 新発見でした。これだとかなり、大きいセル範囲が取得できますね!!
 
 が、これでも限界はありそうです。
 
 
 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の回数は減らせそうです
 
 
 |  |