【Excel VBAでセルの操作をする方法】

ExcelVBA

セルの値を取得・代入する

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」形式の書式を設定しています。

練習問題

以下は、セルの操作の練習問題です。

  1. A1セルに「Apple」、B1セルに「Banana」、C1セルに「Cherry」という値を設定してください。
  2. A1セルの値を取得して、メッセージボックスで表示してください。
  3. A2セルにA1セルとB1セルの和を設定してください。
  4. 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の解答の前に数字を置き換えてます。※数字の場合は””(ダブルクォーテーション)は不要です。