備忘録

webの備忘録のために

はじめてのVBA その1

やっと基本情報の試験が終わって区切りもいいので、今回からはVBAについて勉強を。
ほとんどVBAを触ったことがないので、初歩の初歩から。

  • プロシージャー プロシージャー・・・プロシージャとは一連の処理をまとめたもの
     書き方としては Sub プロシージャ名()

Excelのツール → マクロから VisualBasicEditor

Sub HelloWorld()
    MsgBox ("hello world")
End Sub

これでメッセージボックスにhello worldと表示される

Sub CellChange()
    Worksheets("Sheet1").Range("A1").Value = "hello"
    Range("A2").Value = "hello2"
    Cells(3, 1).Value = "hello3"
    Cells(3, 1).Offset(1, 0).Value = "hello4"
End Sub

今度はセルに代入していくパターン
2行目はsheetを指定していき、セルに代入していく
3行目は特にsheetを指定せずに代入していく
4行目はABCで指定していくのではなく、123で挿入していく
5行目は123で場所を指定しながらそこからどの位置へ移動していくかを決める

  • Worksheets・・・ワークシートを指定
  • Range・・・セルを指定(ABCで)
  • Cells・・・セルを指定(数字で)
  • Offset・・・セルを指定した位置からの移動
  • value・・・値を代入
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

複数選択で一気にセルを変更したい場合はこれ。
2行目3行目のパターンはコンマで区切るか、コロンで区切るパターンでも変更可能。
4行目5行目のパターンは列、行を一気に変更したい場合。
Cells.Clearで全てをリセットすることもできる。