エクセル仕事・ビジネス

VBAを基礎から勉強!セルA1に「おはよう」と入力する

VBAを本格的に勉強し始めました。

今回は第1回目!

 

当記事では、基本中の基本

セルA1に”おはよう”と入力する

を実践したものを、備忘録的にまとめています。

 

「なんでこれはこうなの?」

「これってこうじゃだめなの?」

自分なりの疑問も載せていて、そこは解決次第追記していきます。

スポンサーリンク

セルA1に「おはよう」と入力するための構文

エクセルVBAの式

 

下記の通りに入力して実行(F5キー)すればできます。

Sub おはよう()
Range(“A1”) = “おはよう” ‘セルA1におはようと入力
End Sub

 

本当に1からのスタートなので、1つずつ詳しく見ていこうと思います。

  • Sub おはよう()
    セルA1に「おはよう」と入力する構文のタイトルのようなもの。
    この「おはよう」の部分は、「test1」とか「ohayou」でもOK!
    一般的には英語が良いみたいですが。
    「Sub」と「 ()」は絶対必要で、かしこまった手紙で言う所の「拝啓」

 

  • Range(“A1”) = “おはよう”
    Rangeはセルのこと
    指定したセルはカッコとダブルクォーテーションで囲みます。
    カッコの右側と「=(イコール)」の間に半角スペースをはさみますが、はさまなくても自動的に挿入されるようになってます。
    「おはよう(任意の文字列)」はダブルクォーテーションで囲みます。

 

  • ‘セルA1におはようと入力
    2行目の右側の部分。
    これは構文に対しての「メモ書き」のこと。
    はじめに「」←シングルクオーテーションをつけることで、構文とは別ですよ!という風に区別することができます。

 

  • End Sub
    構文の終わりを示す記号。基本自動で挿入されます。
    かしこまった手紙で言うところの「敬具」

応用①…セルA1に”太字で”「おはよう」を入力する

エクセルVBA

 

下記の通り

先ほどの構文に1行プラスされているのが分かりますか↓

Sub おはよう()
Range(“A1”) = “おはよう” ‘セルA1におはようと入力
Range(“A1”).Font.Bold = True
End Sub

 

  • Range(“A1”).Font.Bold = True
    「.Font」はフォントオブジェクトと言って、例えば今回のように太字にするときや、斜体にするとき、後述する文字サイズを変えるときに必ず記述するものです。
    例えるなら【ショッピングモール全体】
    「.Bold」は太字のプロパティ。
    例えるなら【ショッピングモールの中の個々のお店】また右側の「= True」は、そのまま「正しい」ということです。
    記述がないとエラーになります。

応用②…セルA1に”太字”で”大きさ20ポイント”の「おはよう」を入力する

エクセルVBA

 

さらに1行増えたのが分かりますか?

Sub おはよう()
Range(“A1”) = “おはよう”
Range(“A1”).Font.Bold = True
Range(“A1”).Font.Size = 20
End Sub

 

  • Range(“A1”).Font.Size = 20
    「.Font」というショッピングモールの中に「.Size」というお店がある、というイメージだと分かりやすい気がします。
    文字通り、文字のサイズを変えることができます。
    今回は20ポイントです。

    先ほどの「Bold」とは違い、文字サイズを”選ぶ”ことになりますから
    「=True」は記述しません。

まとめと疑問

というわけで、自分なりに分かりやすくまとめてみました。

 

今回の作業で疑問に思ったことは

  • .Font.Boldに対して、「=True」が抜けているとエラーになる
    なぜないとダメなのか?
  • Bold、Size、”おはよう”の各構文を1つにまとめようとするとエラーになる。
    1つの「Range(“A1”)」でまとめることはできないのか?

 

上記の2点です。

解決した際には、追記していきたいと思います。

 

初歩の初歩はそこまで難しくはありませんでしたが、ここからちょっとずつハードルが上がってきそう。

マスターできるといいなぁ。

まだスタートしたばかりなので
構文が汚かったり例えがヘタなのはお許しください…。

お気軽にコメントどうぞ コメント欄がないとき⇒下にスクロール

スポンサーリンク
タイトルとURLをコピーしました