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