セルの値を取得・代入する
VBAでセルの操作をするためには、WorksheetオブジェクトのCellsプロパティを使います。Cellsプロパティは、行番号と列番号を指定して、セルを指定することができます。以下の例では、A1セルの値を取得して、メッセージボックスで表示する方法を示します。
Sub getCellValue()
Dim value As String
value = Cells(1, 1).Value
MsgBox "A1セルの値は" & value & "です。"
End Sub
上記のコードでは、Cells(1,1)でA1セルを指定し、Valueプロパティでセルの値を取得しています。そして、取得した値をメッセージボックスで表示しています。
また、セルに値を設定する場合は、以下のようにCellsプロパティに値を代入することで行えます。
Sub setCellValue()
Cells(1, 1).Value = "Hello, World!"
End Sub
上記のコードでは、Cells(1,1)でA1セルを指定し、Valueプロパティに「Hello, World!」という文字列を代入しています。
VBAでセルの操作の例
以下は、セルの操作の代表例です。ひとまず入力、参照、書式さえ覚えればよいと思います。
1.特定のセルに値を設定する
Sub setCellValue()
Cells(1, 1).Value = "Hello, World!"
End Sub
2.セルの値を取得してメッセージボックスで表示する
Sub getCellValue()
Dim value As String
value = Cells(1, 1).Value
MsgBox "A1セルの値は" & value & "です。"
End Sub
3.特定のセルに書式を設定する
Sub setCellFormat()
Cells(1, 1).NumberFormat = "#,##0"
End Sub
上記のコードでは、A1セルに「#,##0」形式の書式を設定しています。
練習問題
以下は、セルの操作の練習問題です。
- A1セルに「Apple」、B1セルに「Banana」、C1セルに「Cherry」という値を設定してください。
- A1セルの値を取得して、メッセージボックスで表示してください。
- A2セルにA1セルとB1セルの和を設定してください。
- B2セルにA1セルとB1セルの積を設定してください。
解答例
以下は、解答例です。
Option Explicit
Sub ExcelVBAExample()
'A1セルに「Apple」、B1セルに「Banana」、C1セルに「Cherry」という値を設定
Range("A1").Value = "Apple"
Range("B1").Value = "Banana"
Range("C1").Value = "Cherry"
'A1セルの値を取得して、メッセージボックスで表示
MsgBox Range("A1").Value
'それぞれ数字に置き換え
Range("A1").Value = 1
Range("B1").Value = 2
Range("C1").Value = 3
'A2セルにA1セルとB1セルの和を設定
Range("A2").Value = Range("A1").Value + Range("B1").Value
'B2セルにA1セルとB1セルの積を設定
Range("B2").Value = Range("A1").Value * Range("B1").Value
End Sub
注意点としては、文字列の”Apple”、”Banana”、”Cherry”は文字列の型なので問題3,4の解答の前に数字を置き換えてます。※数字の場合は””(ダブルクォーテーション)は不要です。