【Excel VBAの基本 Part4】セルの操作を学習しよう

プログラミング

実習用データのダウンロード


Rangeオブジェクトでセルやセル範囲を取得

セルやセル範囲のオブジェクトは「Rangeオブジェクト」と呼びます。
単一のセルやセル範囲を操作するためには、この「Rangeオブジェクト」を使用します。

セルを指定する書式
Range(引数)

この引数にセルの値を書くことで、セルやセル範囲を指定することができます。

セルA1を指定
Range("A1")
セルB3からD8を指定
Range("B3:D8")

Valueプロパティで値を取得

【Excel VBAの基本 Part3】オブジェクト・プロパティ・メソッドって何だろう?」で、プロパティは状態や属性を決めるものであると説明しました。
Valueプロパティ」は、指定したセルの値を取得することができます。

Valueプロパティの書式
Rangeオブジェクト.Value
セルA1の値を取得
Range("A1").Value
セルA2~E3の値を取得
Range("A2:E3").Value

ただし、Valueによって値を取得しただけでは何も起こりません
取得した値を別の値を代入したり、変数に格納したりします。


代入は「=」で行おう

数学の「=」は、左辺と右辺の値が等しいという意味ですが、プログラミングで使用する「=」は、「右辺の値を左辺に代入する」という意味になります。

右辺の値を左辺に代入
Rangeオブジェクト.Value = 右辺の値

実習問題1

問題1

セルA2に54321を代入しましょう。


Sub VBA_part4_001()
    'この下から記述しましょ
    Range("A2").Value = 54321
    
End Sub

解説

セルA2に対して「54321」が代入されて表示されます。
数値のため「“”」で囲いません。


実習問題2

問題2

セルB2に「ハロー」という文字列を代入しましょう。


Sub VBA_part4_002()
    'この下から記述しましょ
    Range("B2").Value = "ハロー"
    
End Sub

解説

セルB2に対して文字列の「ハロー」が代入されて表示されます。
文字列のため「“”」で囲います。


実習問題3

問題3

セルA2の値をセルC2に代入をしましょう。


Sub VBA_part4_003()
    'この下から記述しましょ
    Range("C2").Value = Range("A2").Value
    
End Sub

解説

右辺(セルA2)の値である「54321」が、左辺(セルC2)に代入されて表示されます。


Cellsでセルを指定する

セルを指定する方法は、「Range」だけではなくて「Cells」もあります。
Rangeとは書き方が異なりますので注意しましょう。

Cellsの書式
Cells(,)

引数の行は先頭行を「1」として順番に数えます。
列はA列を「1」、B列を「2」、C列を「3」と数えていきます。

CellsでB4を指定
Cells(4,2)

Cells(行,”列”)で指定

列は数字だけではなくて、アルファベットで指定することもできます。
アルファベットで指定する場合は「“”」で囲わなければなりません。

Cells(行,”列”)でB4を指定
Cells(4,"B")

Cellsは単一セルしか指定できない

Rangeは単一セルだけではなく、複数のセルを指定することが可能です。
Cellsは書式の性質上、単一のセルしか指定することができません。

書式対象のセル
Range(引数)Range(“A1”)
Range(“C2:F3”)
単一セル
複数セル
Cells(行,列)Cells(3,4)
Cells(3,”D”)
単一のセルのみ

実習問題4

問題4

Cellsを使用して、セルA4に「123+234」の計算結果を代入しましょう。


Sub VBA_part4_004()
    'この下から記述しましょ
    Cells(4, 1).Value = 123 + 234
    
End Sub

解説

右辺の「123+234」の計算結果が、左辺のセルA4に代入されます。


実習問題5

問題5

Cellsを使用して、セルB5に「Excel」と「VBA」を連結させた文字列を代入しましょう。


Sub VBA_part4_005()
    'この下から記述しましょ
    Cells(5, 2).Value = "Excel" & "VBA"
    
End Sub

解説

右辺の「Excel」と「VBA」が文字列連結演算子の「」で連結されて「ExcelVBA」という文字列はセルB5に代入されます。


実習解答データのダウンロード


タイトルとURLをコピーしました