アクセス上位ページ
 
最近の更新内容
(4)-b.算術演算子 ⇐ [PREV]
[NEXT] ⇒ (4)-d.比較演算子 ( Like も含む)

Excel VBA ≫ 1.基礎編 - 演算子(4)-c.文字列連結演算子

【ページ内リンク】

文字列連結演算子

数値や文字列を連結する演算子には"&"と"+"があります。 "+"についてはオペランドのデータ型によっては算術演算子として機能してしまい、 得られる結果が意図したものと異なる可能性があるため、文字列の連結には"&"を使用する方がよいでしょう。



& 演算子

Sub sample4_1()
    Dim intValue  as Integer
    Dim strValue  as String

    intValue = 3
    strValue = intValue & "の" & intValue & "乗は" & _
               intValue ^ intValue & "です。"

    MsgBox strValue
End Sub
⇒ サンプルマクロ集 へ
  • 実行結果
  • 文字列連結の実行結果


+ 演算子

"+" 演算子の演算対象となるオペランドのデータ型により"+" 演算子が内部でどのように扱われるか確認しみました。 どうやら最初のオペランドのデータ型により"算術演算"となるか"文字列連結"となるか変わるようです。
  1. 文字列型(文字列)+文字列型(文字列)の場合
  2. Sub test4_2()
        Dim strValue1  as String
        Dim strValue2  as String
    
        strValue1 = "abc"
        strValue2 = "DEF"
    
        MsgBox strValue1 + strValue2
    End Sub
    
    • 実行結果
    • +演算子の実行結果1
  3. 文字列型(数値)+文字列型(数値)の場合
  4. Sub test4_3()
        Dim strValue1  as String
        Dim strValue2  as String
    
        strValue1 = "123"
        strValue2 = "456"
    
        MsgBox strValue1 + strValue2
    End Sub
    
    • 実行結果
    • "+"が文字列連結として扱われています。

      +演算子の実行結果2
  5. 数値型+文字列型(文字列)の場合
  6. Sub test4_4()
        Dim intValue1  as Integer
        Dim strValue2  as String
    
        intValue1 = 123
        strValue2 = "EFG"
    
        MsgBox intValue1 + strValue2
    End Sub
    
    • 実行結果
    • "+"が算術演算子として扱われたため、"intValue1 + strValue2"でエラーとなってしまいました。

      +演算子の実行結果3
  7. 数値型+文字列型(数値)の場合
  8. Sub test4_5()
        Dim intValue1  as Integer
        Dim strValue2  as String
    
        intValue1 = 123
        strValue2 = "456"
    
        MsgBox intValue1 + strValue2
    End Sub
    
    • 実行結果
    • "+"が算術演算子として扱われています。

      +演算子の実行結果4
カテゴリ内ページ
Excel VBA 〜 総目次 〜
- 1.基礎編
-- (4).演算子
--- (4)-a.演算子とは
--- (4)-b.算術演算子
--- (4)-c.文字列連結演算子
--- (4)-d.比較演算子 ( Like も含む)
--- (4)-e.論理演算子
--- (4)-f.演算子の優先順位



Page
Top