こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。
皆さんは、VBAでセルの値を操作する方法を知っていますか?
Excelはセルのデータできているため、セル操作はVBAを書く上で肝となる機能です。
そこで今回は、セルを指定する方法や、値を取得・設定する方法といった基礎的なことから、
- セルの値をクリアする方法
- セルの値を変数にセットする方法
- 合わせて覚えると便利な一覧データの範囲指定方法
といった応用的な方法まで、徹底的に解説します!
セルを指定する方法
はじめに、セルの値を指定する方法について解説します。
Rangeプロパティを使う方法
まず、Rangeメソッドを使った指定方法について解説します。
Rangeメソッドは次のように使います。
使い方:
Range(セルのアドレス)
A1、B2、C5のようなセルのアドレスをRangeの引数に入れることで、セルの位置を指定することができます。セルのアドレスを直接指定するので、直感的でわかりやすいですよね。
ちなみに、Rangeメソッドの詳しい使い方については以下でも解説しているので、気になる方は見てみてくださいね!
Cellsプロパティを使う方法
次に、Cellsメソッドを使った指定方法について解説します。
Cellsメソッドは次のように使います。
使い方:
Cells(行番号 , 列番号)
1、3、4、7のように数値を行番号・列番号に入れることで、セルの位置を指定することができます。
番号で行・列を指定することができるので、「データの行数分ループ処理を実行する」ようなVBAの処理を作るときに、行番号を増やしていくだけで処理を作れるため、覚えておくと便利です。
ちなみに、Cellsメソッドの詳しい使い方については以下でも解説しているので、気になる方は見てみてくださいね!
シートを指定してセルの値を指定する方法
ここまで解説したRange・Cellsはセルの位置を指定する方法でしたが、Excelはセル以外にも「シート」がありますよね。
次に、シートを指定したセルの指定方法について解説します。
シートの指定方法は大きく分けて3つあります。
シートの指定方法:
Activesheet.Range Worksheets(シート番号).Range Worksheets(シート名).Range
Activesheetは現在選択しているシートを指定でき、Worksheetsはシート番号・シート名でシートを指定することができます。
アクティブシート・その他のシート操作については以下で詳しく解説しているので、気になる方は見てみてくださいね!
セルの値を操作する方法
次に、セルの値を操作する方法について解説します。
セルの値を取得・設定する方法
まずは、セルの値を取得・設定する方法について解説します。
Valueプロパティを使って簡単に取得・設定をすることができます。
使い方:
'値を取得する場合 Range(セルのアドレス).Value Cells(行番号 , 列番号).Value '値を設定する場合 Range(セルのアドレス).Value = 設定する値 Cells(行番号 , 列番号).Value = 設定する値
セルのデータを使うケース・データを書き込むケースはよくあるので、覚えておくと便利です!
Valueプロパティを使ったセルの値取得・設定方法については、以下で詳しく解説しているので見てみてくださいね!
セルの値をクリアする方法
次に、セルの値をクリアする方法について解説します。
Clearメソッドを使って、簡単にクリアをすることができます。
使い方:
Range(セルのアドレス).Clear Cells(行番号 , 列番号).Clear
データを一度クリアしてから再度処理をするケースはよくあるので、覚えておくと便利です!
セルをクリアする方法については以下で詳しく解説しているので、気になる方は見てみてくださいね!
セルの値を変数にセットする方法
次に、セルの値を変数にセットする方法について解説します。
次のように書くことで、変数に値をセットすることができます。
使い方:
Dim 変数名1 As 型名 変数名1 = Range(セルのアドレス).Value Dim 変数名2 As 型名 変数名2 = Cells(行番号 , 列番号).Value
変数に値をセットして使うケースは多いので、覚えておくと便利です!
変数の使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!
合わせて覚えると便利なセルの指定方法
ここまでセルを指定して操作する方法について解説してきましたが、データ一覧をまとめて操作したいケースもありますよね。
そんな時に便利なのが、UsedRangeプロパティです。
UsedRangeプロパティを使えば、簡単にデータ一覧のセル範囲を取得することができます。
実行前のデータ:
サンプルコード:
Sub Test5() ActiveSheet.UsedRange.Clear End Sub
実行結果:
「ActiveSheet」で表示しているシート・「UsedRange」ですべてのデータ範囲を指定し、データをクリアするサンプルです。
データ一覧のデータを指定して操作するケースはよくあるので、覚えておくと便利です!
UsedRangeプロパティの詳しい使い方については以下で解説しているので、見てみてくださいね!
まとめ
今回は、VBAでセルの値を指定して操作する方法について徹底的に解説しました。
Excelはセルのデータが集まったデータを操作するソフトなので、セルの値を操作する方法は覚えておくと便利です。
使い方も簡単なので、ぜひ使ってみてくださいね!