目次

ダブルクオーテーション

今回の投稿では、 ExcelVBA でダブルクオーテーション( " の記号)を文字として出力するマクロを作成してみました。下記画像のようにメッセージボックスにダブルクオーテーションを表示してみたいと思います。

ダブルクオーテーションが文字として出力されている。
ダブルクオーテーションが文字として出力されている。

目次まで戻る

マクロのコード

早速、以下のマクロを作成してみました。「""""」と書いている箇所が「"」と表示される予定です。

Sub ダブルクオーテーションを文字として表示するマクロ()

MsgBox """" & "ABC" & """" '""""と書いています。

End Sub

上のマクロを実行すると以下の画像のようにダブルクオーテーションが表示されています。「""""」と書くと「""」と表示されそうにも思いますが、「""」の 2 文字で「"」と表示されるようです。

マクロ実行結果です。ダブルクオーテーションが文字として表示されています。
マクロ実行結果です。ダブルクオーテーションが文字として表示されています。
両端( 1 文字目と 4 文字目)は文字列定義に必要な引用符です。表示はされません。 2 文字目と 3 文字目の「""」が「"」と表示されます。
両端( 1 文字目と 4 文字目)は文字列定義に必要な引用符です。表示はされません。 2 文字目と 3 文字目の「""」が「"」と表示されます。

「"""」ダブルクオーテーション 2 つの場合のマクロを作成して試してみることにします。

Sub ダブルクオーテーション2つの場合のマクロ()

MsgBox ""

End Sub

マクロを実行してみると、目に見える文字は表示されていませんね。

長さ 0 (ゼロ)の文字列が表示されました。
長さ 0 (ゼロ)の文字列が表示されました。

今度は「"""」ダブルクオーテーション 3 つの場合のマクロを試してみることにしましたが、「MsgBox """」と入力して「Enter」したところ、自動で「MsgBox """"」と自動補完されました。

ダブルクオーテーション3つの場合
ダブルクオーテーション3つの場合

セル値にダブルクオーテーションの文字が含まれている場合は、どうなるのか試してみます。「B3」セルに入力されている「"ABC"」の文字を Msgbox 関数で表示してみます。

セルの値にダブルクオーテーションが含まれている。
セルの値にダブルクオーテーションが含まれている。

下記のマクロ実行してみます。「B3」セルに入力されている値を取得してダイアログボックスに表示するマクロです。

Sub セル値にダブルクオーテーションの文字が含まれている場合のマクロ()

    MsgBox Range("B3").Value

End Sub

マクロの実行結果は以下のようになりました。セルに入力されている値がそのまま表示されていますね。

"ABC" と表示されている。
"ABC" と表示されている。

目次まで戻る

参考資料

目次まで戻る

テスト環境

  • Windows 10
  • Microsoft Office Excel 2003

目次まで戻る

あとがき

別のやり方として、 Chr 関数を使用してもダブルクオーテーションを文字として出力する事が可能です。 Chr 関数で「Chr(34)」と記述すると「"」の文字を返すので、それをそのまま連結して出力可能です。

Sub Chr関数を使用してダブルクオーテーションを文字として表示するマクロ()

MsgBox Chr(34) & "Chr関数使用" & Chr(34)

End Sub
Chr 関数を使用したマクロの結果です。
Chr 関数を使用したマクロの結果です。

以上閲覧ありがとうございました。

目次まで戻る

前後の投稿