vbaを独学で学んでおります。
質問内容は、
for文で条件に合ったセルを複数選択するにはどうすればいいのかというものです。
下のプログラムを作ってみたんですが、ループする回数がある一定の数を超えるとエラーが起こります。rangeオブジェクトにつかえる文字列の長さは、255文字までだとかなんとかだそうです。
Public Sub test()
Dim str As String
Dim i As Integer
str = Cells(1, 1).Address
For i = 2 To 50
str = str & "," & Cells(i, i).Address
Next
Range(str).Select
End Sub
さらに、次のプログラム使っても、256個ぐらいしかセルが選択できません。(これも何かの上限?)
Public Sub test2()
On Error GoTo エラー
Dim r As Range
Dim i As Integer
Set r = Cells(1, 1)
For i = 2 To 300
Set r = Union(r, Cells(i, i))
Next
r.Select
エラー:
r.Select
MsgBox ("256個しか選べませんでした")
End Sub
もっと、無制限に、たくさんのセルを選択できるようにしたいのですが、何か手はないでしょうか?
ご教授お願いします。
お礼
そうでした。なんかいろいろと探してようやくUnionを使うという方法を見つけたのですが、実際試してみる256個だからあれ?って感じになってました。 列数の事は頭に入っていませんでした。 実際、列数を全部1にして試してみたら、 3万ぐらいまでいけるようになりました。 これで十分です。ありがとうございました