学習めも。

Python、Anaconda学習中🔰 ブログ引っ越ししました😄よろしくお願いします!https://noeiganolife.com/

記録用🔰

プログラミング以外の記事はこちら

VBA入門(基礎知識)

コメント・メッセージボックス表示・改行( _)

Sub HelloWorld()
    ' コメント
    MsgBox _
    ("hello world")
End Sub
Sub HelloWorld2()
    MsgBox _
    ("hello world 2")
End Sub



Rangeオブジェクトを指定する複数 を使って、セルに値を表示

・Worksheets(シートを指定)
・Range(セルの指定)
Valueプロパティ(値を入れたい時使う)
・Cells(行のインデックス、列のインデックスを書けばいい)
・Offset(相対指定)

Sub CellChange()
    `セルA1に”hello”と表示させる
    Worksheets("Sheet1").Range("A1").Value = "hello"

    `セルA2に”hello2”と表示させる
    Range("A2").Value = "hello2"

    `セルA3に”hello”と表示させる
    Cells(3, 1).Value = "hello3"

    `A3 セルから 1 つ下(行方向 1 、列方向 0 )
    Cells(3, 1).Offset(1, 0).Value = "hello4"
End Sub


複数のセルを含むRangeオブジェクトを指定する方法

・Range("A1", "B3") →A1〜B3<br>
・Range("A1:B3") →A1〜B3<br>
・Range("A:A") →A列<br>
・Range("3:3") →3行目<br>
・Cells.Clear →ずべてのセルをクリアにする<br>

▼使用例

Sub CellsChange()
    Range("A1", "B3").Value = "hello"
    Range("A5:C7").Value = "hello2"
    Range("4:4").Value = "row 4"
    Range("C:C").Value = "Column C"
    Cells.Clear
End Sub


処理の対象が同じ複数の命令をWithでまとめる方法

Sub WithTest()
    Range("A1").Value = "hello"

    'フォントを太字に
    Range("A1").Font.Bold = True

    'フォントのサイズ指定
    Range("A1").Font.Size = 16

    'セルの塗りつぶしの色指定
    Range("A1").Interior.Color = vbRed
End Sub
<hr>
'Withを使って入れ子構造にする
Sub WithTest2()
    '対象のセルを指定
    With Range("A2")
        .Value = "hello"

     'フォントの指定内容をまとめる
        With .Font
            .Bold = True
            .Size = 16
        End With
        .Interior.Color = vbRed
    End With
End Sub



メソッドのオプション指定方法

Sub MethodTest()
    ' Range("B2").Clear  ⇨セル内をクリアにする
    ' Range("B5").Delete shift:=xlShiftUp ⇨B5 を削除して上方向に詰める
 '今のワークシートではなくて Sheet2 の後にワークシートを追加したい場合
    Worksheets.Add after:=Worksheets("Sheet2"), Count:=2
End Sub