あるセルに「A1,A2,B1,B2」と入力し、VBAでこれらのアドレスを全て選択するメソッド作りたくて、下記コードをVBAで作成。
input_val =Cells(x,y).value
Range(input_val).select
おお、できたできた!!!
調子こいて、うん十件以上のアドレスをセットして・・・_| ̄|○
VBAが内部で落ちてます。どーしてだろう。
どうやら、Rangeに渡すパラメータ数が多いようで。
少なくするには、Unionメソッドを使うと、RangeオブジェクトとRangeオブジェクトを
1つのRangeオブジェクトにまとめられるらしい。
おお、これだよこれ。欲しかったのは。
早速、浮かんだコードをコーディング。
addr = split(input_val ,”,”)
set allRange = Range(addr(0))
for i = 1 To ubound(addr)
set newRange = Range(addr(i))
allRange = union(allRange , newRange )
next
allRange.select
これでいけるはず!