VBA の演算子(文字連結演算子:& 演算子 + 演算子)
2015/04/16
文字連結演算子
文字連結演算子は、文字列の連結を行うときに使用する演算子で、「&」または「+」を使用します。
& 演算子 の使い方
result = exp1 & exp2
引数・戻り値の説明
- exp1,exp2 ・・・ 任意の式を指定します。
- result ・・・ 任意の文字列型 (String) またはバリアント型 (Variant) の変数を指定します。
exp1、exp2 の両方が文字列型の場合、演算結果 result は文字列型になります。
exp1、exp2 の両方または一方が文字列型以外の場合(Null 値を除く)は、バリアント型(内部処理形式が文字列型)になります。
exp1、exp2 の両方が、Null 値の場合、演算結果 result も Null 値になります。
exp1、exp2 のいずれかが、Null 値の場合、演算結果 result は、Null 値でないもう一方の値となります。
また、exp1、exp2 が、Empty 値を持つ式の場合、長さ 0 の文字列として扱われます。
+ 演算子
result = exp1 + exp2
項目の説明
- exp1、exp2 ・・・ 任意の式を指定します
- result ・・・ 任意の数値変数を指定します。
+ 演算子を使用した場合、加算と文字列連結のどちらが行われるのかが分かりにくい場合があるので注意してください。
VBA 論理演算子の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Sub Sample_OperatorAnd() Dim numi As Integer Dim numd As Double Dim str1 As String Dim str2 As String Dim var, n numi = 120: numd = 22.5: str1 = "Hello!": str2 = "Thank you." n = Null Debug.Print numi & numd & str1 & str2 & var & n '12022.5Hello!Thank you. Debug.Print TypeName(numi & numd & str1 & str2 & var & n) 'String Debug.Print numi & numd '12022.5 Debug.Print numi + numd '142.5 Debug.Print str1 + str2 'Hello!Thank you. Debug.Print str2 + var 'Thank you. Debug.Print str1 + numi 'エラー End Sub |
実行結果
関連記事
-
-
文字列:定数(改行・タブ)
改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …
-
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
-
ある数値が、複数の範囲のどの範囲に含まれるかを示す文字列を返す(Partition 関数)
Partition 関数 の使い方 Partition 関数は、ある数値が、区切 …
-
-
変数がオブジェクト型かどうかをチェックする( IsObject 関数 )
IsObject 関数の使い方 【書式】 result = IsObject ( …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
-
文字列:文字列を指定した形式に変換する(StrConv 関数)
StrConv 関数の使い方 【書式】 result = StrConv ( s …
-
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
-
指定した値を16進数で表記した文字列に変換する(Hex 関数)
Hex 関数 の使い方 【書式】 result = Hex ( expressi …
-
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
-
データをクリアする(ClearContents メソッド)
ClearContents メソッド 対象がセル範囲(Range オブジェクト) …