ここでは、エクセル(Excel)VBAでプログラムで文字を表示する代表的な方法を紹介していきます。
【結論】VBAで文字を表示する方法は3つ
1.Debug.Print
ユーザーへの視覚的な表示ではなく、プログラムを作る人側でテストなどをする時に使用します。
意図した値や文字列が表示されることの確認や変数に代入されている値を検証できます。
2.MsgBox
ユーザーへの明示的な通知などによく使います。
入力や処理の案内通知や「はい」、「いいえ」などの選択肢で処理を分岐することも可能です。
例えば、〇〇の処理を開始します。よろしいですか? Yes/No など
3.セルに値を入力
RangeオブジェクトのRange、Cellsを使ってエクセルのワークシート上に文字や数値などの値を書き込む方法となります。
繰り返しになりますが、開発者がプログラムの文字や変数の値をテストをするだけなら「 1 」を使う、アプリや機能を使用する人への通知やワークシートへの入力・記録なら「 2 」か「 3 」を使います。
それでは、それぞれの使いかたについて詳しく説明していきます。
この記事は以下のような人におすすめです。
●これからExcelVBAでプログラミングをおぼえていきたい人
●VBAをはじめたばかりの人
●VBAを覚えて事務作業をもっと効率的にすすめていきたい人
冒頭で書いたとおり、エクセルVBAで文字を表示する方法は大きく3つあります。
ここではそれぞれの特徴や方法を紹介していきますので目的に応じて使い分けていきましょう。
Debug.Printで文字を出力する
コード書き方は以下のとおり
Debug.Print (1)
デバッグプリントを実行するためのサンプルコード
入力コード
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です。

実行結果
イミディエイトウィンドウの実行結果が以下となります。
1
11
110
110
デバッグプリントでピカピカピカチュウ
画面上部のメニューから「表示」から「イミディエイトウィンドウ」を選択する。
または、「Ctrl」+「G」キーでも表示できます。
VBEの起動方法をお忘れになった人はこちら
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を使う
コダマのもりブログはにほんブログ村に登録しています。
今回の記事が役に立ったと感じて頂けたらフォローお願いします。
![]() ![]() にほんブログ村 | ![]() ![]() |
コメント