実習用データのダウンロード
Rangeオブジェクトでセルやセル範囲を取得
セルやセル範囲のオブジェクトは「Rangeオブジェクト」と呼びます。
単一のセルやセル範囲を操作するためには、この「Rangeオブジェクト」を使用します。
Range(引数)この引数にセルの値を書くことで、セルやセル範囲を指定することができます。

Range("A1")Range("B3:D8")Valueプロパティで値を取得
「【Excel VBAの基本 Part3】オブジェクト・プロパティ・メソッドって何だろう?」で、プロパティは状態や属性を決めるものであると説明しました。
「Valueプロパティ」は、指定したセルの値を取得することができます。
Rangeオブジェクト.ValueRange("A1").ValueRange("A2:E3").Valueただし、Valueによって値を取得しただけでは何も起こりません。
取得した値を別の値を代入したり、変数に格納したりします。
代入は「=」で行おう
数学の「=」は、左辺と右辺の値が等しいという意味ですが、プログラミングで使用する「=」は、「右辺の値を左辺に代入する」という意味になります。
Rangeオブジェクト.Value = 右辺の値実習問題1
セルA2に54321を代入しましょう。
Sub VBA_part4_001()
'この下から記述しましょう
Range("A2").Value = 54321
End Sub
セルA2に対して「54321」が代入されて表示されます。
数値のため「“”」で囲いません。
実習問題2
セルB2に「ハロー」という文字列を代入しましょう。
Sub VBA_part4_002()
'この下から記述しましょう
Range("B2").Value = "ハロー"
End Sub
セルB2に対して文字列の「ハロー」が代入されて表示されます。
文字列のため「“”」で囲います。
実習問題3
セルA2の値をセルC2に代入をしましょう。
Sub VBA_part4_003()
'この下から記述しましょう
Range("C2").Value = Range("A2").Value
End Sub
右辺(セルA2)の値である「54321」が、左辺(セルC2)に代入されて表示されます。
Cellsでセルを指定する
セルを指定する方法は、「Range」だけではなくて「Cells」もあります。
Rangeとは書き方が異なりますので注意しましょう。
Cells(行,列)引数の行は先頭行を「1」として順番に数えます。
列はA列を「1」、B列を「2」、C列を「3」と数えていきます。
Cells(4,2)Cells(行,”列”)で指定
列は数字だけではなくて、アルファベットで指定することもできます。
アルファベットで指定する場合は「“”」で囲わなければなりません。
Cells(4,"B")Cellsは単一セルしか指定できない
Rangeは単一セルだけではなく、複数のセルを指定することが可能です。
Cellsは書式の性質上、単一のセルしか指定することができません。
| 書式 | 例 | 対象のセル |
|---|---|---|
| Range(引数) | Range(“A1”) Range(“C2:F3”) | 単一セル 複数セル |
| Cells(行,列) | Cells(3,4) Cells(3,”D”) | 単一のセルのみ |
実習問題4
Cellsを使用して、セルA4に「123+234」の計算結果を代入しましょう。
Sub VBA_part4_004()
'この下から記述しましょう
Cells(4, 1).Value = 123 + 234
End Sub
右辺の「123+234」の計算結果が、左辺のセルA4に代入されます。
実習問題5
Cellsを使用して、セルB5に「Excel」と「VBA」を連結させた文字列を代入しましょう。
Sub VBA_part4_005()
'この下から記述しましょう
Cells(5, 2).Value = "Excel" & "VBA"
End Sub
右辺の「Excel」と「VBA」が文字列連結演算子の「&」で連結されて「ExcelVBA」という文字列はセルB5に代入されます。



