[VBA] 文字列と文字列、文字列と数値を結合します

 文字列と文字列を結合するときはアンパサンド (&) を使います。こんなことは VBA の入門段階で教わる話なので、何を今さらと思われるかもしれませんが、実は "&" は文字列と数値、数値と数値を結合することもできるのです。「整数型の数値同士を "&" でくっつけたら、どんな型のデータになるのかな?」という、知っていても大して役に立たないことを単なる好奇心で調べてみました。

文字列と文字列を結合します

 まずは基本中の基本から。2 つの文字列をくっつけてみましょう。

 '文字列同士をくっつけます

 Sub JoinString()

 Dim myword1 As String
 Dim myword2 As String
 Dim xx As Variant

 '文字列を変数に入れておきます
 myword1 = "こばとちゃんは"
 myword2 = "世界一かわいい妖精さんです♪"

 '文字列をくっつけます
 xx = myword1 & myword2

 Debug.Print xx

 'データ型を調べておきます
 Debug.Print VarType(xx)

 End Sub

 
 このマクロを実行すると、

 こばとちゃんは世界一かわいい妖精さんです♪

という文章が表示されますよ~。んん!? 誰ですか!?
「うわ! またこのパターンだよ! どんだけ自分が好きなの!?」
とか言ってる人は~? こばとは本当のことを書いているだけだもん。あ、そうそう。文章の下に 8 という数字も表示されたと思うけど、これは VarType関数を使ってデータ型を調べているのです。8 が表示されたら、引数のデータは文字列型 (String型) だということです。
 

文字列と数値を結合します

 次は文字列型データと整数型データをくっつけてみましょ~。

 '文字列と数値の結合

 Sub JoinStringNumber()

 Dim mystr As String
 Dim mynum As Integer
 Dim xx As Variant

 mystr = "こばと"
 mynum = 1034

 xx = mystr & mynum

 Debug.Print xx

 'データ型を調べておきます
 Debug.Print VarType(xx)

 End Sub

 このマクロを実行すると

 こばと1034

と表示されます。え? 1034 は何の数字かって? ...... こばとの年齢。さらに下に 8 という数字も表示されるので、文字列と数値を "&" でくっつけたら、それは文字列型になるということです。
 

数値と数値を結合します

 はい。それでは最後に整数型の 10 と 34 を "&" でくっつけてみましょ~。

 '数値と数値の結合

 Sub JoinNumber()

 Dim i As Integer
 Dim j As Integer
 Dim xx As Variant

 i = 10
 j = 34

 xx = i & j

 Debug.Print xx
 Debug.Print VarType(xx)

 End Sub

 このマクロを実行すると

 1034

と表示されます。データ型は 8 と表示されるので、数値同士を "&" でくっつけても、やっぱり文字列型になってしまうということです。なんだか不思議ね~。それでは今回はこのへんで~。

 ≫ メニューに戻って他の記事も読んでくださいな~
 ≫ こばとのデータベース研究所もよろしくね~

Google広告
スポンサーリンク
スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください