【VBA】文字列中にダブルクオーテーション(“)を使用する方法!

 

複雑なコードを書いていると、文字列内にダブルクオーテーション(“)で使いたいときってありますよね。

 

そんなとき何も考えずに以下のようにやってしまうと・・・

文字列にダブルクオーテーションを含めようとして失敗している様子

こんな感じでコンパイルエラーが出ると思います。

 

というわけでこの記事では、VBA上で文字列にダブルクオーテーション(“)を使用するにはどうしたら良いのかを解説していきます。

 

スポンサーリンク

ダブルクオーテーションを文字列内で使う方法①

まずはVBA上で文字列内にダブルクオーテーションを使う際、どう表現するのかを説明します。

 

実は非常に簡単で ” を二つ重ねるだけです。

要は””と書けば”として扱われるわけです。

 

スポンサーリンク

VBA上でダブルクオーテーションを使う方法②

2つ重ねるというのは直観的でわかりにくい・・・という方はChr関数を使うと便利です。

Chr関数とはあらかじめ登録されている文字を呼び出すことができる関数です。

 

Chr関数の中にもダブルクオーテーションは含まれており、その使い方は以下の通りです。

Chr(34)

これでダブルクオーテーションを表現できます。

スポンサーリンク

文字列内に”を使用する例

とはいえこれだけではイメージしにくいと思いますので、実際の使用例を見てみましょう。

 

今回は両サイドのダブルクオーテーションを含めた「 ”ヒガサラblog” 」および中間にダブルクオーテーションがある「VBAスキル紹介 ”ヒガサラblog”  !!」という2つの文字列をVBA上で表現していこうと思います。

 

これらをメッセージボックスで表示できたら成功ということにしましょう。

 

以下がそのサンプルコードです。

Sub make_dq1()
    Dim sample1 As String, sample2 As String
    
    sample1 = """ヒガサラblog"""
    MsgBox sample1

    sample2 = "VBAスキル紹介 ""ヒガサラblog"" !!"
    MsgBox sample2
    
End Sub

 

sample1について詳細に解説します。

まず以下の赤文字で示したダブルクオーテーションは文字列の両端に置くことで文字列であることを表現するためのものですね。

“”ヒガサラblog””

これはいつもと同じなのでわかりやすいでしょう。

 

先ほど紹介したように文字列内で”を表現するためには””を使います。

つまり以下の赤文字は文字列内では”として機能しています。

“”ヒガサラblog“”

 

sample2についても基本的な考え方は同じですね。

 

それでは実際に実行してみましょう。

 

以下のメッセージが表示されました。

ダブルクオーテーションを含んだ文字列を出力した結果ダブルクオーテーションを含んだ文字列を出力した結果

 

どちらも問題なく文字列内にダブルクオーテーション(”)が出力されていますね。

 

スポンサーリンク

直観的にわかりにくい場合の対処

というわけでざっくりやり方はわかっていただけたと思います。

 

しかしながら、

「このやり方だと変数なんかを使うと、どこからどこが区切りなのかがよくわからない。」

という方もいると思います。

 

そんな方に向けて別のやり方をご紹介しておきます。

 

考え方としては、

①”が””になるからわかりにくい。

②だったら”を表現する変数を作ってしまえ。

という感じです。

 

実際にやってみましょう。

以下がそのサンプルです。(sample1だけで実施します。)

Sub make_dq2()
    Dim sample1, dq As String
    dq = """"
    'Chr関数を使う場合
    'dq = Chr(34)
    sample1 = dq & "ヒガサラblog" & dq
    MsgBox sample1
End Sub

 

ここでのdqは、先ほどの考え方に当てはめると”という文字列が入っています。

つまりこのdqを&でくっつければ直観的に”を使えるというわけですね。

 

こいつを実行すると以下が出力されました。

ダブルクオーテーションを含んだ文字列を出力した結果

この方法でも問題なしですね。

 

まぁやっていることは同じですので、あなたのやりやすい方を使っていけばOKです。

 

スポンサーリンク

おわりに

というわけで今回は文字列中にダブルクオーテーションを含めるにはどうしたら良いのかを解説してきました。

複雑な文字列処理の際などにぜひご活用ください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

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