VBAマクロ

ExcelVBA-Cellsのセル範囲指定

  1. HOME >
  2. VBAマクロ >

ExcelVBA-Cellsのセル範囲指定

今回はセル範囲を指定するCellsプロパティの使い方を紹介します。Rangeプロパティとはセルの指定方法が違い、行番号と列番号の数字で指定します。実際にコードを作って動かしてみましょう。

エクセルVBA-セル範囲の指定(Cells)

セルの選択

単一セルを選択する

サンプルコード

Sub CellsTest1()

  Cells(3, 4).Select

End Sub

Cells(3, 4)セルD3のこと。Cells(行番号,列番号)で指定するのが基本です。実行すると下の図のような選択になります。

セルD3が選択される

 

連続する複数セルを選択する

Cellsプロパティは単一セルかシート全体セルしか指定ができないので、Cells単体では複数セルの選択はできません。ここではRangeプロパティとの併用で指定する方法を紹介します。

サンプルコード

Sub CellsTest2()

  Range(Cells(1, 1), Cells(3, 4)).Select

End Sub

Range(Cells(1, 1), Cells(3, 4))セルA1からセルD3のこと。実行すると下の図のような選択になります。

連続する複数セルの選択

 

連続しない複数セル選択

こちらもCellsだけではできません。離れた複数セルを選択する場合は、Unionというメソッドを使います。イメージとしてはキーボードのCtrlを押しながらクリックしてセルを選択する操作に近いです。

サンプルコード

Sub CellsTest3()

    Union(Cells(1, 1), Cells(3, 4)).Select

End Sub

Union(Cells(1, 1), Cells(3, 4))セルA1とD3のこと。実行すると下の図のような選択になります。

連続しない複数セルの選択

 

列全体の選択

1列全体の選択

列全体を選択する場合は、EntireColumnプロパティを使います。EntireColumnプロパティは指定したセルがある列全体を指定します。

サンプルコード

Sub CellsTest4()

    Cells(1, 1).EntireColumn.Select

End Sub

Cells(1, 1).EntireColumn列A全体のこと。実行すると下の図のような選択になります。

A列全体の選択

 

連続する複数列全体の選択

連続する複数セル選択で使用したRangeと、列全体の選択で使用したEntireColumnの合わせ技になります。

サンプルコード

Sub CellsTest5()

    Range(Cells(1, 1), Cells(1, 3)).EntireColumn.Select

End Sub

Range(Cells(1, 1), Cells(1, 3)).EntireColumn列Aから列Cまで全体のこと。実行すると下の図のような選択になります。

列Aから列Cまで選択

 

連続しない複数列全体の選択

今度は連続しない複数セル選択で使用したUnionと、列全体の選択で使用したEntireColumnの合わせ技になります。

サンプルコード

Sub CellsTest6()

  Union(Cells(1, 1), Cells(1, 3)).EntireColumn.Select

End Sub

Union(Cells(1, 1), Cells(1, 3)).EntireColumn列Aと列Cの全体のこと。実行すると下の図のような選択になります。

列Aと列Cの選択

 

行全体の選択

1行全体の選択

行全体を選択する場合は、EntireRowプロパティを使います。EntireRowプロパティは指定したセルがある行全体を指定します。

サンプルコード

Sub CellsTest7()

    Cells(1, 1).EntireRow.Select

End Sub

Cells(1, 1).EntireRow行1全体のこと。実行すると下の図のような選択になります。

1行全体の選択

 

連続する複数行全体の選択

連続する複数セル選択で使用したRangeと、行全体の選択で使用したEntireRowの合わせ技になります。

サンプルコード

Sub CellsTest8()

    Range(Cells(1, 1), Cells(5, 1)).EntireRow.Select

End Sub

Range(Cells(1, 1), Cells(5, 1)).EntireRow行1から行5まで全体のこと。実行すると下の図のような選択になります。

1行から5行全体の選択

 

連続しない複数行全体の選択

連続しない複数セル選択で使用したUnionと、行全体の選択で使用したEntireRowの合わせ技になります。

サンプルコード

Sub CellsTest9()

    Union(Cells(1, 1), Cells(3, 1), Cells(5, 1)).EntireRow.Select

End Sub

Union(Cells(1, 1), Cells(3, 1), Cells(5, 1)).EntireRow行1と行3と行5の全体のこと。実行すると下の図のような選択になります。

行1と行3と行5を選択

 

シート全体の選択

サンプルコード

Sub CellsTest10()

    Cells.Select

End Sub

Cells選択しているシート全体のこと。実行すると下の図のような選択になります。

シート全体選択

 

 

変数を使ったセル指定

Cellsを使う一番のメリットは変数が使ってセルの指定ができる点です。ここでは簡単な対話型プログラムを作ってセルの選択をしてみましょう。

サンプルコード

Sub CellsTest11()

    Dim R As Integer '選択したいセルの行番号格納

    Dim C As Integer '選択したいセルの列番号格納

    R = InputBox("選択したいセルの行番号を入力してください。")

    C = InputBox("選択したいセルの列番号を入力してください。")

    Cells(R, C).Select

End Sub

実行すると入力を求めてきます。これがInputBoxの動作でそこで入力した値をRという変数と、Cという変数に格納します。ここでの詳細は省きますが、変数とは値を格納する箱のようなものだと思ってください。箱に入れている値を好きな時に使うことができます。今回は行番号に【5】、列番号に【4】を入力しましたので、セルD5が選択されました。何度でも実行できるので動かして変化を実感してください。

対話型プログラムの実行

 

まとめ

Cellsでのセル指定方法について説明しました。状況によってRangeとの使い分けが必要となりますが、変数を使用してセルを指定するのであればCellsを使うことになり、固定されたセルを指定する時はRangeを使います。実際にプログラムを作る上で変数は絶対に使用しますので、Cellsも重要な要素となります。しっかりマスターしてください。

 

おすすめ!!

本サイトでは常に最新機能を兼ね備えるMicrosoft365 PersonalのExcelを使用しております。旧バージョンでは使用できない便利な機能や最新関数が盛りだくさんなのでぜひ下記よりご購入ください。



新着記事

便利機能

2022/4/9

Excel-名前を姓と名に分ける【フラッシュフィル】の使い方

名簿などを作っている時に、名前を姓と名に分けて入力するか、スペースを空けて一つのセルに入力するか迷う時があります。後々後悔することもしばしばありますが、そんな時に便利なのがフラッシュフィルです。一つのセルに入力されている名前を姓と名に一瞬で分けてくれます。逆に姓と名が別々になっているものを一つにするこも可能です。実に簡単なので覚えておくと何かと便利な機能です。   Excel-フラッシュフィル 目次1 名前を姓と名に分割する2 別々になっている姓と名を結合する3 メールアドレスを分割・結合する4 ...

続きを読む

便利機能

2022/4/8

Excel-フィルター機能の使い方

エクセルのフィルター機能は膨大な量のデータベースから必要な条件に該当するデータだけを抽出する機能です。何万行というデータの中から「この条件に合うデータだけ抽出したい」という時に、目で見て抽出していたら何日かかるかわかりません。その時にフィルター機能を使うと一瞬で必要なデータだけが抽出できます。抽出したデータを基にいろんな分析ができるのがフィルター機能の醍醐味です。   Excel-フィルター機能 目次1 基本的な使い方2 SUBTOTAL関数を使った集計3 まとめ こんな時に便利 膨大なデータベ ...

続きを読む

便利機能

2022/4/8

Excel-入力規則の使い方

入力規則とはあらかじめセルに入力できる値を制限しておく機能です。入力する項目が限られている時はリスト化してマウスで選択するだけで入力することができます。また第三者に発注書などの資料を渡して入力してもらう際、予期せぬ入力をされてしまい、結果的におかしな資料になってしまうようなこともあるため、事前にセルに入力できる値を制限しておくことによりトラブルを未然に防ぐことができます。   Excel-入力規則 目次1 基本的な使い方1.1 【設定】1.2 【入力時メッセージ】1.3 【エラーメッセージ】1. ...

続きを読む

便利機能

2022/4/8

Excel ショートカット一覧【便利技収録】

基本的なコピー&貼り付けから、セルの移動・選択などマウス操作では時間がかかる操作も、ショートカットを使えば一瞬で操作が完了します。ここでは比較的よく使用するショートカットを紹介しますので、ぜひ覚えて活用してください。 参考 印刷用は下記よりダウンロード可能です。 ・ショートカット早見表(縮小版A4用紙1枚)JPG ・ショートカット集(拡大版A4用紙9枚)PDF   エクセル-ショートカット集 目次1 ファイル操作2 検索 / 置換3 入力 / 挿入 / 削除 / 編集4 ワークシート操作5 コピ ...

続きを読む

関数・数式

2022/4/8

Excel【INDEX】【MATCH】の使い方

INDEXは検索関数の一つで、VLOOKUPよりは知名度は低い関数ですが、柔軟な検索が可能となっており、VLOOKUPではできない検索も可能となります。INDEX単体で使ってもあまり意味がなく、MATCHなどとセットで使うのが基本だと覚えてください。MATCHの使い方も一緒に解説します。 エクセル関数-INDEX 目次1 INDEX関数の使い方1.1 基本的な使い方1.2 MATCH関数と組み合わせて使う1.3 領域番号を使って複数の表を切り替えて参照する2 MATCH関数の使い方2.1 完全一致の検索2 ...

続きを読む

-VBAマクロ

© 2024 Excelエクセルを基礎から学び 上級者へ