- ベストアンサー
VBAでの「0011」などの頭に0がつく数値の扱い
質問です。 VBA初心者です。 現在、エクセルのVBAで会社で使用するツールを自作しようとしています。 サンプルなどで勉強しつつ、フォームのテキストボックスに入力した数値をシートに転記したのですが、0011など頭に0のつく数値だと、シート上では11となってしまいます。 これを0011と、そのままシートに転記したいのですが、どなたか良い方法をご教授願えませんでしょうか? 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
方法&考え方が二通り思いつきます。 1.セルの書式設定を文字にしてから入力する方法は以下の通りになります。 Range("A1").NumberFormatLocal = "@" 'セルの表示形式を文字列に変更 Range("A1").Value = "0011" '自動変換されずに文字列として認識。 2.セルの内容が文字であることを強制させる場合は文字列の頭に"'"(シングルクォーテーション)を挿入することです。 Range("A1").Value = "'0011" 大概はどちらの方法を用いても構わないのですが、文字としてだけでなくいろいろ応用したいときは1.の方法を、数字として扱うことが絶対にない場合は2.を使用してください。