教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セル範囲を選択(Select)する方法を教えて!

構文

構文は以下の通りです。

Range("セル範囲").Select

解説

Selectを使うと、特定のセルやセル範囲を選択することができます。セル範囲は、A1形式で指定することも、Rangeオブジェクトを使って指定することもできます。

使い方

以下に、具体的な使い方を紹介します。

例1: セルの値を変更する

Range("A1").Select
ActiveCell.Value = "Hello, World!"

この例では、A1セルを選択し、そのセルの値を「Hello, World!」に変更しています。Selectを使って対象のセルを選択し、ActiveCellプロパティを使ってそのセルの値を変更することができます。

例2: セルの背景色を変更する

Range("B2:D4").Select
With Selection.Interior
    .Color = RGB(255, 0, 0)  ' 赤色に変更
    .Pattern = xlSolid  ' 塗りつぶしのパターンを単色に設定
End With

この例では、B2からD4までのセル範囲を選択し、そのセルの背景色を赤色に変更しています。With文を使ってSelection.Interiorオブジェクトにアクセスし、Colorプロパティを使って色を設定しています。

プログラミング例

以下に、具体的な例を幾つか紹介します。

1.セルの値を表示する例

指定したセルの値をメッセージボックスで表示するプログラムです。

Sub ShowCellValue()
    Dim cellValue As Variant
    cellValue = Range("A1").Value
    MsgBox "セルA1の値は: " & cellValue
End Sub

2.セル範囲の合計値を計算する例

指定したセル範囲の合計値を計算し、メッセージボックスで表示するプログラムです。

Sub CalculateSum()
    Dim sumValue As Double
    sumValue = Application.WorksheetFunction.Sum(Range("A1:A5"))
    MsgBox "セルA1からA5までの合計値は: " & sumValue
End Sub

3.セルにループを使用して値を代入する例

A1からA10までのセルに1から10までの数値を順番に代入するプログラムです。

Sub FillCellsWithValues()
    Dim i As Integer
    For i = 1 To 10
        Range("A" & i).Value = i
    Next i
    MsgBox "セルA1からA10までの値が設定されました。"
End Sub

4.セルの書式を変更する例

指定したセル範囲のフォントを太字にし、背景色を青色に設定するプログラムです。

Sub FormatCells()
    Range("B1:C5").Font.Bold = True
    Range("B1:C5").Interior.Color = RGB(0, 0, 255) ' RGB値で青色を指定
    MsgBox "セル範囲B1からC5の書式が変更されました。"
End Sub

まとめ

Selectを使うことで、セルやセル範囲の選択が簡単にできます。特定のセルを変更したり、スタイルを適用したりする際に便利です。是非活用してください。