2019.06.08スポンサーリンクこんにちは、VBAエンジニアのやすこれです。みなさんは、VBAで数値を文字列として扱いたいと思ったことはありませんか?見た目は同じなのに書式が違ってエラーになったセルの値を変数に入れたら型違いでエラーになったVBAで数値を文字列として扱う方法が知りたい!という方も多いのではないでしょうか?そこで今回は、数値を文字列に変換できるStr関数を紹介します。スポンサーリンク目次VBAで数値を文字列に変換するStr関数とは?VBAのStr関数で注意すべき特性と解決方法Str関数の注意すべき特性Str関数の注意点を解決する方法VBAで文字列を数値に変換するVal関数Val関数の使い方まとめVBAで数値を文字列に変換するStr関数とは?Str関数は、数値を文字列に変換する関数です。基本構文Str(数値)以上のように書くことで、かっこ内の数値が文字列に変換されます。"型"Str関数を使って、Long型整数である「msgLng」を文字列に変換します。「msgLng」「Str(msgLng)」それぞれの型をTypeName関数で取得すると数値が文字列型に変換されているのがわかります。数値を文字列に変換できる便利なStr関数ですが、注意しなければならないことがあります。それはプラスの数値を変換した場合、文字列の先頭に半角スペースがつくことです。値比較を行うとき、せっかく型を変換しても文字列が変わってしまっては意味がありません。半角スペースがつくサンプルコードを紹介します。100正の数値「100」をStr関数・数値のままMsgBoxで出力した結果、次のようになります。少々わかりづらいですが、Str関数で文字列に変換した上段の「100」は「:」の後ろにスペースができてしまっています。値比較などで予期せぬ結果がでてしまうので、次に紹介する半角スペースをなくして文字列に変換する方法も覚えてしまいましょう。Str関数の注意点を解決する方法Str関数でできてしまう半角スペースをなくすには、CStr関数を使いましょう。基本構文CStr(数値)Str関数と同じく上記のように書くことで、かっこ内の数値が文字列に変換されます。100先ほどと同じように正の数値「100」をCStr関数・数値のままMsgBoxで出力した結果は次のようになります。Str関数とは違い、CStr関数で文字列に変換した上段の「100」は「:」の後ろに半角スペースなく表示されているのがわかりますね。このようにCStr関数を使えば、半角スペースを表示することなく値を文字列に変換することができます。VBAで文字列を数値に変換するVal関数ここまで数値を文字列に変換するStr関数を紹介してきましたが、実務では文字列を数値にしたい場合もあります。「Val関数」を使えば、文字列を数値に変換することができます。Val関数の使い方Val関数は、文字列を数値に変換する関数です。基本構文Val(文字列)以上のように書くことで、かっこ内の文字列が数値に変換されます。"型"Val関数を使って、文字列である「”100′′」を数値に変換します。「msgStr」「Val(msgStr)」それぞれの型をTypeName関数で取得すると文字列が数値であるDouble型に変換されているのがわかります。使い方も簡単なので、数値を文字列に変換するStr関数とあわせて、文字列を数値に変換する「Val関数」も覚えてしまうのがおすすめです。まとめ今回はVBAで数値を文字列に変換できるStr関数の使い方をご紹介しました。Str関数は、数値を文字列として扱いたい時、簡単に使うことができます。あわせて紹介したStr関数の注意や、文字列を数値に変換するVal関数も覚えておくと非常に便利です。最近とてもいいWebサービスが増えてきた。ブラウザ上で完結するのは便利な反面、開くまでのステップが多い。Webサービスをアプリみたいに一発で開きたい。【Windows】OneDriveを無効化して自動起動を停止する方法を解説こんにちは。VBAエンジニアのやすこれです。みなさんは、OneDrive使っていますか?ぼくの場合、オンラインストレージはDropboxとGoogleDriveを使っているので使っていません。同じようにOneDrive以外のサービスを使っている方は、OneDriveは必要ないですよね。【ExcelVBA】Dir関数の使い方とは?実務で使うテクニックも解説こんにちは、VBAエンジニアのやすこれです。【ExcelVBA】InStr関数の使い方とは?実務で使うテクニックも解説!こんにちは。VBAエンジニア兼テックライターのやすこれです。手作業でやるには量が多いし、関数でやるのも自信がない。文章を書くのが続かない。2017年12月やすこれ働きたくない。いう思いから投資をはじめ、ブログを書いてます。働かないために業務自動化を推し進め、幅広くExcel(VBA含む)の知識を身に付けました。その後、事務職からVBAエンジニアへの転職を果たしています。VBA開発・Excel指導依頼受け付けてます。Twitterやcoconala等でお気軽にDMください。2017年12月やすこれ働きたくない。いう思いから投資をはじめ、ブログを書いてます。働かないために業務自動化を推し進め、幅広くExcel(VBA含む)の知識を身に付けました。その後、事務職からVBAエンジニアへの転職を果たしています。VBA開発・Excel指導依頼受け付けてます。Twitterやcoconala等でお気軽にDMください。カテゴリーを選択ライフハック。