ここでは、エクセル(Excel)VBAでプログラムで文字を表示するマクロの代表的な方法を紹介していきます。文字を表示する手段は3つですが、それぞれの目的に応じて使いわけることになります。
会社や職場でエクセルを使っている人にとって、セルに文字を入力することが代表的なものですが、マクロを開発する人にとっては、それ以外の2つの方法で文字を表示する方法もよく使うものになってきます。
それぞれの方法を個別に紹介していきますので、これからのマクロ開発に役立てて下さい。
【結論】VBAで文字を表示する方法は3つ
VBAをつかって文字を表示する3つの方法は以下のとおりです。
VBAで文字を表示する|Debug.Print
ユーザーへの視覚的な表示ではなく、イミディエイトウィンドウに文字を表示します。
こちらは、プログラムを作る人側でテストなどをする時に使用し、意図した値や、文字列が表示されることの確認や変数に代入されている値を検証できます。
VBAで文字を表示する|Msgbox
ユーザーへの視覚的な通知などによく使います。スマートフォンなどのアプリなどでもよくみられるもので、メッセージボックスといったものを使って案内や指示・選択肢などを表示します。
例えば以下のようなものになります。
〇〇の処理を開始します。よろしいですか? Yes/No
処理中です。完了メッセージが表示されるまでしばらくお待ちください。 ok
VBAで文字を表示する|セルに値を入力する
エクセルのワークシートに文字を入力する方法です。人がセルに文字を入力することと同じですが、VBAをつかうことで、何百や何千のセルに対して値を入力することも数秒から数分程で処理できます。
詳しい書きかたは後ほど紹介しますが、RangeオブジェクトのRange、Cellsを使ってエクセルのワークシート上のセルに文字や数値などの値を書きこむ方法となります。

文字を表示するだけでも、目的ごとに使いわけようね。
それでは、それぞれの使いかたについて詳しく説明していきます。
この記事は以下のような人におすすめです。
● VBAをおぼえてエクセルの作業をもっと便利で負担のすくないものにしたい人
● これからExcelVBAでプログラミングをおぼえていきたい人
● VBAをはじめたばかりの人
冒頭で書いたとおり、エクセルVBAで文字を表示する方法は大きく3つあります。
ここでは、それぞれの特徴や方法を紹介していきますので、目的に応じて使い分けていきましょう。
Debug.Printで文字を出力する
コード書き方は以下のとおり
Debug.Print[ outputlist ]
デバッグプリントを実行するためのサンプルコード
入力コード
Sub test() 'SubとEnd Subの間にコードを書きます。 '数値の場合の書きかた Debug.Print 1 '文字列の場合の書きかた Debug.Print "デバッグプリントでピカピカピカチュウ" '日付の場合の書きかた Debug.Print #1/1/2023# '真偽の場合の書きかた Debug.Print True Debug.Print False '数式の場合の書きかた Debug.Print 1 + 10 Debug.Print 10 * 2 Debug.Print "これ" + "と" + "それ" '複数の場合の書きかた Debug.Print 1; 2; 3; 4; 5; "いちにさんしご" End Sub
文字列はダブルクォーテーション(“)、日付はシャープ(#)でかこみましょう。日付は月日、年の順番で書きます。また、複数表示する場合はセミコロン(;)でくぎってください。

先頭に ‘ がついている行は、VBAのコードとして扱われないよ。
コードが入力したら実行します。
実行方法は、画面上部の” ▶ “をクリックするか、またはショートカットキーの” F5 “(パソコンの機種によっては、Fnキーを押しながら)を押します。マクロの実行方法については、以下の記事をご覧ください
実行結果
イミディエイトウィンドウの実行結果が以下となります。
1 デバッグプリントでピカピカピカチュウ 2023/01/01 True False 11 20 これとそれ 1 2 3 4 5 いちにさんしご
数式の場合は、計算結果を表示します。
また文字列の場合は、文字列を結合したものがイミディエイトウィンドウに表示されます。
イミディエイトウィンドウでの出力は、ここでは紹介していない『変数』に代入された値を確認する上で使うことが多いです。繰り返し処理を実行するマクロなどでは、変数に代入された値が、実行回数によって書きかえられますので、マクロ開発中のテストなどに使われます。

デバッグプリントは、マクロ開発者に便利だね。
MsgBoxで文字を出力する
コード書き方は以下のとおり
MsgBox (1)
メッセージボックスを実行するためのサンプルコード
メッセージボックスを表示するコードを標準モジュールに入力します。
入力コード
Sub test()
'SubとEnd Subの間に処理を書きます。
'文字を表示するコード
'文字列は””ダブルクォーテーションで括ること
'2.数字と文字列結合:メッセージボックス
'メッセージボックスはポップアップでメッセージを表示する
MsgBox (1)
MsgBox (1 + 10)
MsgBox ("1" + "10")
MsgBox ("1" & "10")
MsgBox ("メッセージボックスでピカピカピカチュウ")
End Sub
コメントアウトする場合は先頭に【 ’ 】をつければOKです。
実行結果
メッセージボックスを表示することができました。







メッセージボックスは、マクロを使っている人とお話するために使えるね。マクロの操作方法や、確認画面、注意事項などに使えるよ。
ワークシートセルに値(文字や数値)を入力する
コードの書き方は以下のとおり、RangeまたはCellsを使って書きます。
ThisWorkbook.Worksheets(“Sheet1”).Range(“A1”) = 1
または
ThisWorkbook.Worksheets(“Sheet1”).Cells(1, 1) = 1
ワークシートセルに値(文字や数値)を入力するためのサンプルコード
入力コード
ワークシートセルに文字を表示するコードを標準モジュールに入力してみましょう。
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
Sub test()
'SubとEnd Subの間に処理を書きます。
'文字を表示するコード
'文字列は””ダブルクォーテーションで括ること
'3.数字と文字列結合:セルに値を書き込み
'セルには指定した値の書き込みをする
ThisWorkbook.Worksheets("Sheet1").Cells(1,1) = 1
ThisWorkbook.Worksheets("Sheet1").Cells(2,1) = 1 + 10
ThisWorkbook.Worksheets("Sheet1").Cells(3,1) = "1" + "10"
ThisWorkbook.Worksheets("Sheet1").Cells(4,1) = "1" & "10"
ThisWorkbook.Worksheets("Sheet1").Cells(5,1) = "メッセージボックスでピカピカピカチュウ"
End Sub
コメントアウトする場合は先頭に【 ’ 】をつければOKです。
実行結果
指定したセルに文字を書き込むことができました。


RangeとCellsのコード解説
ワークシートに数値や文字を書き込むコードでは、書き込む場所を指定する必要があります。
この“ブック(ファイル)の、このシートの、このセル”と書き込む場所を指定する書き方が必要となります。
コードの意味をそれぞれに分解したものが以下です。
コード | 意味 |
---|---|
ThisWorkbook | このブック(ファイル) |
Worksheets(“Sheet1”) | シート名(Sheet1)のシート |
Range(“A1”) Cells(1,1) | A1セルまたは、1行目・1列目セル |


セルに文字を書き込むのは、エクセルの処理の基本だね。
初心者さんは、どのセルに書くか?を指定する書きかたに慣れるところが肝心だよ!
ここまでで文字の表示や入力方法を説明しましたが、ここで紹介した方法は、すべてリテラル(直値)を指定する方法となります。
実在のアプリやプログラムでは『変数』と呼ばれるものをつかうことが必須となります。変数の詳しい説明や書きかたについては、こちらの記事で紹介していますので、ぜひこちらの記事もご覧になってください。
「エクセルVBAで文字を表示する方法」まとめ
本記事では、VBAで文字を出力する代表的な方法3つを紹介しました。
今回の記事を以下にまとめます。
1.開発者・プログラムを作成している人向けのテストなどでは、Debug.Printを使う
2.アプリや機能を利用するユーザーへの通知や選択肢などではMsgBoxを使う
3.ワークシートセルへ文字入力や記録のための出力はRangeやCellsを使う


おつかれさま。
これで文字や数字が表示できるマクロができるね。
今回紹介した方法で文字や数値を出力するマクロを作ることができました。
変数をあつかえるようになると、マクロの実用性が飛躍的に高くなり、効果を感じられるようになってきます。
マクロを作る上でとても重要な『変数』をつかったマクロの作りかたについては、以下の記事で紹介しています。よろしければ、ぜひこちらもご覧ください。
コダマのもりブログはにほんブログ村に登録しています。
今回の記事が役に立ったと感じて頂けたら、フォローお願いいたします。
コメント