Excel VBAでセルを操作する基本的な例

目次

セルに値を入力する セルのフォーマットを変更する セルの内容をクリアする セルの値をコピーする セルの値を条件付きで変更する Cellsコマンドを使用する

EXCEL VBA

EXCEL VBAについて 基本構文について 変数と演算子について シート操作について ブック操作について For文について IF文について Case文について 業務効率VBA10例 トップへ戻る

セルに値を入力する

基本的な値の入力

このマクロを実行すると、セルA1に「Hello」、セルB1に「World」という文字列が入力されます。
Sub EnterValues()
    Range("A1").Value = "Hello"
    Range("B1").Value = "World"
End Sub
                

複数のセルに値を入力

このマクロを実行すると、セルA1からB2にそれぞれ1, 2, 3, 4という値が入力されます。
Sub EnterMultipleValues()
    Range("A1:B2").Value = [{"1", "2"; "3", "4"}]
End Sub
                

セルのフォーマットを変更する

フォントの変更

このマクロを実行すると、セルA1のフォントが太字、イタリック、下線付き、サイズ14、赤色に変更されます。
Sub FormatFont()
    With Range("A1")
        .Font.Bold = True
        .Font.Italic = True
        .Font.Underline = xlUnderlineStyleSingle
        .Font.Size = 14
        .Font.Color = RGB(255, 0, 0)
    End With
End Sub
                

背景色の変更

このマクロを実行すると、セルA1の背景色が黄色に変更されます。
Sub FormatBackground()
    Range("A1").Interior.Color = RGB(255, 255, 0) ' 黄色
End Sub
                

セルの内容をクリアする

セルの値とフォーマットをクリア

このマクロを実行すると、セルA1の値とフォーマットがクリアされます。
Sub ClearCell()
    Range("A1").Clear
End Sub
                

セルの値のみをクリア

このマクロを実行すると、セルA1の値がクリアされ、フォーマットはそのまま残ります。
Sub ClearContents()
    Range("A1").ClearContents
End Sub
                

セルの値をコピーする

このマクロを実行すると、セルA1の値がセルB1にコピーされます。
Sub CopyValue()
    Range("B1").Value = Range("A1").Value
End Sub
                

セルの値を条件付きで変更する

このマクロを実行すると、セルA1からA10の値が50より大きい場合はそのセルの背景色が緑色に、小さい場合は赤色に変更されます。
Sub ConditionalChange()
    Dim cell As Range
    For Each cell In Range("A1:A10")
        If cell.Value > 50 Then
            cell.Interior.Color = RGB(0, 255, 0) ' 緑色
        Else
            cell.Interior.Color = RGB(255, 0, 0) ' 赤色
        End If
    Next cell
End Sub
                

Cellsコマンドを使用する

セルに値を入力

このマクロを実行すると、セルA1に「Hello」、セルB1に「World」という文字列が入力されます。
Sub EnterValueWithCells()
    Cells(1, 1).Value = "Hello"  ' セルA1
    Cells(1, 2).Value = "World"  ' セルB1
End Sub
                

ループを使って値を入力

このマクロを実行すると、セルA1からA10にそれぞれ1から10までの値が入力されます。
Sub LoopWithCells()
    Dim i As Integer
    For i = 1 To 10
        Cells(i, 1).Value = i
    Next i
End Sub