【プログラミング】エクセルVBAで文字表示やセルに書き込む3つの方法

プログラミング
komori
komori

こんにちは。
今回もエクセル(excel)でプログラミングができるVBAについて解説します。今回は基本的な文字を表示する方法とセルに文字を書き込む方法を紹介します。

この記事はこういう人におすすめできます
  • これからexcelVBAでプログラミングをしていきたい人

  • VBAを書くのが初めての人

  • エクセルVBAでユーザーへの通知を表示したりセルに文字を書き込んだりしたい人

  • VBAを覚えて事務作業をもっと効率的にすすめていきたい

  • これからプログラミングを覚えていきたい

エクセルVBAで文字を表示する方法

エクセルVBAで文字を表示する方法は大きく3あります。
ここではそれぞれの特徴や方法を紹介していきますので目的に応じて使い分けていきましょう。

VBAで文字を表示する3つの方法
  • Debug.Print
    こちらはユーザーへの視覚的な表示ではなく、プログラムを作る人側でテストなどをする時に使用することが多いですが意図した値や文字列が表示されることの確認ができます。

  • MsgBox
    こちらはユーザーへの明示的な通知などによく使います。入力や処理の案内通知や「はい」、「いいえ」などの選択肢で処理を分岐することも可能です。

    例えば、〇〇の処理を開始します。よろしいですか? Yes/No など

  • セルに値を入力
    エクセルのワークシート上に文字や数値などの値を書き込む方法となります。

特徴をおさえた上で続いてそれぞれのコードの書き方をみていきましょう。

エクセルVBAで数値や文字を表示する方法1(Debug.Print)

デバッグプリントを(イミディエイトウィンドウで)表示するコードを標準モジュールに入力してみましょう。

入力コード

Sub test()
'SubとEnd Subの間にコードを書きます。

'文字を表示するコード
'文字列は””ダブルクォーテーションで括ること

'1.数字と文字列結合:デバッグプリント
'デバッグプリントはイミディエイトウィンドウに表示する


    Debug.Print (1)
    Debug.Print (1 + 10)
    Debug.Print ("1" + "10")
    Debug.Print ("1" & "10")
    Debug.Print ("デバッグプリントでピカピカピカチュウ")
End Sub
黄色の文字はコメントアウトしている部分なので、コードとして読み取らない処理をしています。
コメントアウトする場合は先頭に【 ’ 】をつければOKです。
コードを入力若しくはコピー&ペーストした後、画面上部の” ▶ “をクリックするかショートカットキーの” F5 “を押すとプログラムが実行されます。
黄色矢印に実行”▶”ボタンクリックで実行、画面左下のイミディエイトウィンドウに実行結果が表示される。

実行結果

イミディエイトウィンドウの実行結果が以下となります。

 1 
 11 
110
110
デバッグプリントでピカピカピカチュウ
チェックポイント

1+10は11で表示されますが、”1”+”10”や”1”&”10”は110で表示されることに注意
※ダブルクォーテーションで囲んだものを文字列と認識しているため文字列結合して表示していることなります。

VBE画面でイミディエイトウィンドウを表示する方法について
画面上部のメニューから「表示」から「イミディエイトウィンドウ」を選択するまたは、「Ctrl」+「G」キーでも表示できます。

エクセルVBAで数値や文字を表示する方法2(MsgBox)

メッセージボックスを表示するコードを標準モジュールに入力してみましょう。

入力コード

Sub test()
'SubとEnd Subの間に処理を書きます。

'文字を表示するコード
'文字列は””ダブルクォーテーションで括ること

'2.数字と文字列結合:メッセージボックス
'メッセージボックスはポップアップでメッセージを表示する
    
    MsgBox (1)
    MsgBox (1 + 10)
    MsgBox ("1" + "10")
    MsgBox ("1" & "10")
    MsgBox ("メッセージボックスでピカピカピカチュウ")
End Sub
黄色の文字はコメントアウトしている部分なので、コードとして読み取らない処理をしています。
コメントアウトする場合は先頭に【 ’ 】をつければOKです。

コードを入力若しくはコピー&ペーストした後、画面上部の” ▶ “をクリックするかショートカットキーの” F5 “を押すとプログラムが実行されます。

実行結果

メッセージボックスを表示することができました。

MsgBox (1)の実行結果
MsgBox (1 + 10)の実行結果
MsgBox (“1” + “10”)の実行結果
MsgBox (“1” & “10”)の実行結果
MsgBox (“メッセージボックスでピカピカピカチュウ”)の実行結果

エクセルVBAで数値や文字を表示する方法3(セルに値を入力)

入力コード

ワークシートセルに文字を表示するコードを標準モジュールに入力してみましょう。

Sub test()
'SubとEnd Subの間に処理を書きます。

'文字を表示するコード
'文字列は””ダブルクォーテーションで括ること

'3.数字と文字列結合:セルに値を書き込み
'セルには指定した値の書き込みをする

    ThisWorkbook.Worksheets("Sheet1").Range("A1") = 1
    ThisWorkbook.Worksheets("Sheet1").Range("A2") = 1 + 10
    ThisWorkbook.Worksheets("Sheet1").Range("A3") = "1" + "10"
    ThisWorkbook.Worksheets("Sheet1").Range("A4") = "1" & "10"
    ThisWorkbook.Worksheets("Sheet1").Range("A5") = "メッセージボックスでピカピカピカチュウ"
End Sub
黄色の文字はコメントアウトしている部分なので、コードとして読み取らない処理をしています。
コメントアウトする場合は先頭に【 ’ 】をつければOKです。

コードを入力若しくはコピー&ペーストした後、画面上部の” ▶ “をクリックするかショートカットキーの” F5 “を押すとプログラムが実行されます。

ワークシートに数値や文字を書き込む場合は以下のように
この”ブック(ファイル)の、このシートの、このセル“と書き込む場所を指定する書き方が必要となります。
ThisWorkbook.Worksheets("Sheet1").Range("A1") = 1

実行結果

指定したセルに文字を書き込むことができました。

「エクセルVBAで文字を表示する方法」まとめ

いかかでしたか。
ここでは、VBAを始めて書いてみる人向けに文字を表示するコードを3つ紹介してみました。

今回の記事を以下にまとめます

VBAで文字を表示する方法3つまとめ
  • 文字を表示する方法は3つ
    • Debug.Print
      • コードを書いた人が確認する上で使う

    • MsgBox
      • ユーザーへの通知や選択肢の案内などに使う

    • セルに値を入力
      • ワークシートセルへ文字を書き込むときに使う

さいごに
これまでの経験上、どのプログラミング言語を学習するとしても先ずは文字を表示(出力)するところから覚えることになります。
VBAにおいても例外ではなく、自分の書いたコードでプログラムが動いた喜びを実感してもらえたら幸いです。

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村
PVアクセスランキング にほんブログ村コダマのもりブログ - にほんブログ村

コメント

タイトルとURLをコピーしました