• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで範囲の指定をしたいです(初心者))

エクセルVBAで範囲の指定をする方法(初心者向け)

このQ&Aのポイント
  • エクセルVBAで特定の範囲を指定する方法について説明します。
  • 指定した範囲のデータを処理する際によく使用される手法です。
  • 具体的なコードの例や注意点も解説します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

4つのコードを書きました。それぞれで調べてみてください。 段階的に書きました。基本的には、標準モジュールに書きます。 元のコードを直すと、 Sub Test1() Range("A1").Select Range(Selection, Selection.End(xlDown).Offset(, 9)).Select End Sub 次に、少しマクロらしくすると Sub Test2() Range("A1", Range("A1").End(xlDown).Offset(, 9)).Select End Sub もう少し、マクロらしくすると、 Sub Test3() Dim i As Long i = Range("IV1").End(xlToLeft).Column Range("A1", Range("A1").End(xlDown).Offset(, i - 1)).Select End Sub より実践的に書くと以下のようになります。 Sub Test4() Dim i As Long, j As Long If WorksheetFunction.CountA(Cells) = 0 Then Exit Sub With ActiveSheet.UsedRange 'Range("A1").SpecialCells(xlCellTypeLastCell) 'これは思ったようには行かない  j = .Cells(.Cells.Count).Column  i = .Cells(.Cells.Count).Row End With Range("A1", Cells(i, j)).Select End Sub

graycat222
質問者

お礼

できました、できました! このようなつたない質問文しか書けないような初心者でも 理解できるような易しいマクロ文から実践まで示していただき 大変参考になりました。 とても感謝しております。 まだまだこれから勉強をしていこうと思いますので またお世話になることがあるかと思いますが、 なにとぞ宜しくお願いいたします。 本当にありがとうございました。

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

その他の回答 (2)

回答No.2

Range(Selection, Selection.End(xlDown)).Select Columns("A:J").Select では、だめですか?

graycat222
質問者

お礼

ありがとうございます。 教えていただいた文ですと、エクセルの最終行まで範囲指定になり、 2行目以降のセルへの貼り付けができませんでした。 私がちゃんと、範囲指定後2行目以下へ貼り付けると書かなかったのが いけませんでした。すみません。 ただ逆に最終行までを指定したい場合教えていただいた方法が 大変有効ですので使わせていただきます。 ありがとうございました。

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

マクロ記録時のキー操作が間違えています。 選択したセルから最終セルまで自動的に範囲を取得するなら、Ctrl+Shift+Endのキー操作です。 Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select 表内のデータ範囲を自動取得するなら(A1セルを選択して)Ctrl+Shift+*の操作を行います。 Range("a1").CurrentRegion.Select

graycat222
質問者

お礼

早々のご回答ありがとうございます。 示していただいた方法ですと、C列までしか範囲指定できないようですが、 ただ、全てのセルにデータが入っている場合には大変有効ですので そのような場合に使わせていただこうと思います。

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