回答受付が終了しました

VBAについてです。 a= 1 + 1 等の計算をしてdebug.print aとすると、2とでるのですが、2の両端に空白が入ります。 理由はなぜでしょうか?

Visual Basic55閲覧

回答(2件)

0

数値をdebug.printすると両端にスペースができる理由は文字列特別したいからだと思われます。 ;を使うと数値の場合は間をスペース2つ開けて表示されます。 &は文字列の連結になります。 ;は改行せずにその位置からプリントします。 ,はタブ区切りでスペースを開けてプリントします。 <結果> 「&」は文字も数値も隙間なく並べて表示する 「;」は数値のみスペース区切りで表示する 「,」は文字も数値もタブ区切りで表示する Const n As Integer = 10 Const m As Integer = 20 Const l As Integer = 30 Const d As Double = 1.234 '数値と数値の連結 Debug.Print n & m & l & d '「&」で連結 Debug.Print n; m; l; d '「;」で連結 Debug.Print n, m, l, d '「,」で連結 1020301.234 10 20 30 1.234 10 20 30 1.234

0

左側に空白が入るのは、「文字じゃありませんよ、数字ですよ」ということを表すものです。もう少しコンピューター的な言い方をするなら、マイナス記号がつくときに入れられるように空けておいている、というものです。 右側の方はどうなんでしょう。コンピューター的に必然性はありません。VBEの「エディター」という性質上、後ろにも空白があるほうが便利だろうということで空けてくれているだけかと思います。 その証拠に、 Debug.print a &“個” とすると、 「2_個」ではなく「2個」とくっついて表示されるはずです。 よろしくお願いします。