【プログラミング】エクセルVBAでメッセージの表示やセルに文字入力をする

vba

ここでは、エクセル(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)

※()内の 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です。
コードを入力若しくはコピー&ペーストした後、画面上部の” ▶ “をクリックするかショートカットキーの” F5 “を押すとプログラムが実行されます。
黄色矢印に実行”▶”ボタンクリックで実行、画面左下のイミディエイトウィンドウに実行結果が表示される。

実行結果

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

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

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

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

VBEの起動方法をお忘れになった人はこちら

MsgBoxで文字を出力する

コード書き方は以下のとおり

MsgBox (1)

※()内の 1 は表示したい数値や文字列に置き換えて入力する

メッセージボックスを実行するためのサンプルコード

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

入力コード

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

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

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

実行結果

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

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

ワークシートセルに値(文字や数値)を入力する

コードの書き方は以下のとおりRangeまたはCellsを使って書きます。

ThisWorkbook.Worksheets(“Sheet1”).Range(“A1”) = 1

または

ThisWorkbook.Worksheets(“Sheet1”).Cells(1, 1) = 1

※ =1 の 1 を数値や文字列に置き換えて入力する

ワークシートセルに値(文字や数値)を入力するためのサンプルコード

入力コード

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

<Rangeで書いたサンプル>
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
<Cellsで書いたサンプル>
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”).Range(“A1”) = 1
ThisWorkbook.Worksheets(“Sheet1”).Cells(1,1) = 1

コードの意味をそれぞれに分解したものが以下です。

コード意味
ThisWorkbookこのブック(ファイル)
Worksheets(“Sheet1”)シート名(Sheet1)のシート
Range(“A1”)
Cells(1,1)
A1セルまたは、1行目・1列目セル

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

本記事では、VBAで文字を出力する代表的な方法3つを紹介しました。

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

1.開発者・プログラムを作成している人向けのテストなどでは、Debug.Printを使う

2.アプリや機能を利用するユーザーへの通知や選択肢などではMsgBoxを使う

3.ワークシートセルへ文字入力や記録のための出力はRangeやCellsを使う

コダマのもりブログはにほんブログ村に登録しています。
今回の記事が役に立ったと感じて頂けたらフォローお願いします。

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

コメント

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