セルに文字を記入してみよう

いよいよここから本格的にマクロの勉強です。


■ この章で学ぶこと

TOPに戻る

セルに文字を記入するマクロを作成する

それでは、早速コードウインドウに以下のコードを記入して、実行してみてください。

Sub 最初のマクロ
  Worksheets("sheet1").Range("A1") = "aaaa"
End Sub
  1. Sub 最初のマクロ  〜   End Sub
    Sub ○○で始まって、End Subで終わっています。これからコーディングしていく際にはこのルールを
    守りましょう。ここで○○というのが、このプロシージャーの名前です。プロシージャーの名前には
    ルールがありますので気をつけましょう。 

  2. Worksheets("sheet1").Range("A1") = "aaaa"
    このコードを訳すと、「”sheet1”の”レンジA1”にaaaaを入力しなさい」となります。
    これからWorksheetやRange等のオブジェクトを覚えていく必要があります。
    ちなみに”.”は日本語の助詞”の”だと思ってもらって結構だと思います。

では、次にオブジェクトについて勉強しましょう。

「セルに文字を記入してみよう」最初に戻る

オブジェクトとは?(簡単に)

オブジェクトとは英訳すると物です。よくオブジェクト指向ということを耳にしますが、かなり奥が深いものです。
例えば一台の車があるとします。その中にはエンジンもあれば、シャシー、ボディー等色々な”物”が
含まれています。これがオブジェクトと思っていいでしょう。

車の色を黒にしたいと思えば「”車”の”ボディー”の”色”を黒にする」という命令を言うと思います。
ここまでくればWorksheets("sheet1").Range("A1") = "aaaa"の意味も分かってくるのでは
ないでしょうか?

「セルに文字を記入してみよう」最初に戻る

セルの文字、フォントを変更する

以下のコードを記入してください。

Sub セルの色変更等()

    Worksheets("sheet1").Range("A1") = "aaaa"
    Worksheets("sheet1").Range("A1").Interior.ColorIndex = 6
    Worksheets("sheet1").Range("A1").Font.Bold = True
    Worksheets("sheet1").Range("A1").Font.ColorIndex = 3

End Sub
  1. Worksheets("sheet1").Range("A1").Interior.ColorIndex = 6
    「セルA1の色を”6”にしなさい」という意味です。6というのは黄色を意味します。
    Colorindexは1(黒)、2(白)、3(赤)・・となっており、一度試してみてください。
    エクセルのヘルプでも参照できますので一度見てください。 

  2. Worksheets("sheet1").Range("A1").Font.Bold = True
    「セルA1のフォントを”Bold(太字)”にしなさい」という意味です。ここで 〜.Range("A1").Font=Bold
    となっていない理由は定かではありませんが、VBAの文法上こうなっています。
    フォントを変更したい場合はこの文法を使いましょう。
    ちなみに斜体にしたい場合はItalicを使用します。

  3. Worksheets("sheet1").Range("A1").Font.ColorIndex = 3
    「セルA1のフォントの色を”3(赤)”にしなさい」という意味です。上記の文と同様
    Colorindexは1(黒)、2(白)、3(赤)・・となっていますので試してみてください。

でも「コードを複数回記述する必要があってうっとおしいなぁ」とおもったかたは、是非次のWith文を
覚えてください。

「セルに文字を記入してみよう」最初に戻る



With文を使用する

以下のコードを見てください。

Sub セルの色変更等2()

      With Worksheets("sheet1")
       .Range("A1") = "aaaa"
       .Range("A1").Interior.ColorIndex = 6
       .Range("A1").Font.Bold = True
       .Range("A1").Font.ColorIndex = 3
      End With
      
End Sub

今まではWorksheetの、Worksheetの、・・と同じことを4回繰り返していたと思います。
日本語も同様だと思いますが、同じことを何度も言うのは面倒ですよね。
そこで、このWith文です。
コードを見てもらえれば分かりますが、Withは改行した次の行に.(ピリオド)を記述すると
Withの後ろに記述したオブジェクトのオブジェクトを示すことになります。
以下のコードではさらにWorksheet.RangeまでをWith文でくくっています。

Sub セルの色変更等2()

      With Worksheets("sheet1").Range("A1")
       .Value = "aaaa"
       .Interior.ColorIndex = 6
       .Font.Bold = True
       .Font.ColorIndex = 3
      End With
      
End Sub
「セルに文字を記入してみよう」最初に戻る


// このWebサイトのご意見・ご感想はvb@tentant.comまで //

Copyright (C) 2004 visualbasic.tentant.com.All righs reserved