• ベストアンサー

エクセルVBAについて

エクセルのVBAで変数を使って範囲指定するにはどうすればいいでしょうか? 例:sheet1のデータの入っている行数を数え、その行数をnとして範囲を指定します。列は任意で指定しますので変数ではなく固定。 50行ある場合、A1:E50までを範囲選択したいのですが、変数を使ってrange(A1:En)とする場合、の構文を教えてください。 dim n as integer sheet1 select range(A1:En) select こんな感じだと思うのですが、文字Aとnが数値なのでか、うまくいきません。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • NuboChan
  • ベストアンサー率47% (801/1677)
回答No.3

すでにkkkkkmさんが回答済みですが、 Dim n As Long Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") ' データが入っている最終行番号の取得 n = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' A1:E50 (nが50の場合) の範囲を選択 ws.Range(ws.Cells(1, 1), ws.Cells(n, 5)).Select

makisaori
質問者

お礼

ありがとうございます。変数の記述もよくわからなかったので助かりました。 また、宜しくお願いします。

Powered by GRATICA
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1746/2622)
回答No.2

No.1の訂正です (1."A") を (1, "A")

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1746/2622)
回答No.1

range("A1:E"&n).select とか range(cells(1."A"),cells(n,"E")) .select でいいのではないでしょうか

makisaori
質問者

お礼

ありがとうございました。nuboさんが変数の記述まで教えてくれたので、ベストアンサーとさせて頂きました。回答ありがとうございました。

Powered by GRATICA
すると、全ての回答が全文表示されます。

関連するQ&A