Q.
> J列の商品コードを6桁で揃えた(桁数が不足する場合は、頭にゼロをつけて)
> 上で、文字列として表記させたいのですが。。。
>
> 見た目を6桁にすることは、Range("J:J").NumberFormat = "000000"で可能なの
> ですが、これでは見た目が6桁になっているだけとなってしまいます。
A.
これは、NumberFormat を使っているからというのが原因ですね。
この場合は、Format関数を使って Format(a, "000000") などと記述します。
例えば、今回のような6桁に揃えたいという場合なら
a = 1234
b = Format(a, "000000")
というようにすると b = "00123" (頭0の付いた文字列)となります。
(カッコ内の0の数が6個で6桁の意味です。)
Format(関数)とNumberFormat(プロパティ) というものは似てはいますけど
別物です。
(Formatは文字列に型変換されますが、NumberFormatはセルの表示形式を
変えるだけです。)
なのでこの場合には、Format関数の方を使ってやってみてください。
なお、これをシートに書き出す場合には書式的に標準のままでは頭の0は
無視されてしまいますので、その値の出力対象セルの書式設定を、予め
Selection.NumberFormatLocal = "@"
の一文にて、文字列の書式に設定した上で書き出すようにします。
(この一文も「マクロの記録」を使って記録してみれば簡単に得る
ことができます。)
マクロの記述例:
a = 1234
b = Format(a, "000000")
Range("B2").Select
Selection.NumberFormatLocal = "@"
ActiveCell.FormulaR1C1 = b
最新の画像[もっと見る]
-
80代の年寄りにVBAが出来るわけがない? 3年前
-
鎌倉殿の13人ー義経の逆落としの地形 3年前
-
鎌倉殿の13人ー義経の逆落としの地形 3年前
-
鎌倉殿の13人ー義経の逆落としの地形 3年前
-
鎌倉殿の13人ー義経の逆落としの地形 3年前
-
鎌倉殿の13人ー義経の逆落としの地形 3年前
-
関ケ原の合戦場をデジタルマップで見ると 3年前
-
関ケ原の合戦場をデジタルマップで見ると 3年前
-
関ケ原の合戦場をデジタルマップで見ると 3年前
-
上田城の3Dデジタルマップ 3年前