目次
ダブルクオーテーション
今回の投稿では、 ExcelVBA でダブルクオーテーション( " の記号)を文字として出力するマクロを作成してみました。下記画像のようにメッセージボックスにダブルクオーテーションを表示してみたいと思います。
マクロのコード
早速、以下のマクロを作成してみました。「""""」と書いている箇所が「"」と表示される予定です。
Sub ダブルクオーテーションを文字として表示するマクロ()
MsgBox """" & "ABC" & """" '""""と書いています。
End Sub
上のマクロを実行すると以下の画像のようにダブルクオーテーションが表示されています。「""""」と書くと「""」と表示されそうにも思いますが、「""」の 2 文字で「"」と表示されるようです。
「"""」ダブルクオーテーション 2 つの場合のマクロを作成して試してみることにします。
Sub ダブルクオーテーション2つの場合のマクロ()
MsgBox ""
End Sub
マクロを実行してみると、目に見える文字は表示されていませんね。
今度は「"""」ダブルクオーテーション 3 つの場合のマクロを試してみることにしましたが、「MsgBox """」と入力して「Enter」したところ、自動で「MsgBox """"」と自動補完されました。
セル値にダブルクオーテーションの文字が含まれている場合は、どうなるのか試してみます。「B3」セルに入力されている「"ABC"」の文字を Msgbox 関数で表示してみます。
下記のマクロ実行してみます。「B3」セルに入力されている値を取得してダイアログボックスに表示するマクロです。
Sub セル値にダブルクオーテーションの文字が含まれている場合のマクロ()
MsgBox Range("B3").Value
End Sub
マクロの実行結果は以下のようになりました。セルに入力されている値がそのまま表示されていますね。
参考資料
- 文字列型 (String) - Visual Basic | Microsoft Docs
- https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/data-types/string-data-type
テスト環境
- Windows 10
- Microsoft Office Excel 2003
あとがき
別のやり方として、 Chr 関数を使用してもダブルクオーテーションを文字として出力する事が可能です。 Chr 関数で「Chr(34)」と記述すると「"」の文字を返すので、それをそのまま連結して出力可能です。
Sub Chr関数を使用してダブルクオーテーションを文字として表示するマクロ()
MsgBox Chr(34) & "Chr関数使用" & Chr(34)
End Sub
以上閲覧ありがとうございました。