- ベストアンサー
マクロのvbaプログラム
vbaで文字列の先頭等に0を持ってくるプログラムを教えてください。 例. 0000003→0000000003 文字が10個並ぶようにしたいのですが、うまくいきません。 すみませんが、よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ヘルプを見ればわかると思います。 --- Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) expression 必ず指定します。任意の式を指定します。 式:文字列、数値、オブジェクトのいずれかに評価される、キーワード、演算子、変数、定数の組み合わせ。 --- なので文字列でも問題ありません。 たとえばFor文で --- For i = 1 to 10 Cells(i,1).value = Format(Cells(i,1).value,"0000000000") Next
その他の回答 (3)
- o_chi_chi
- ベストアンサー率45% (131/287)
No2です。 つづり間違えました。 Fromat → Format
- o_chi_chi
- ベストアンサー率45% (131/287)
下記でどうでしょう --- Dim a As String a = "0000003" a = FROMAT(a,"0000000000")
お礼
解決しました。 ありがとうございます。
補足
聞きたいのですが、 たとえばA列に幾つかあるものを、桁数揃えて置き換えるというのは どうすればいいのでしょうか? また、文字列なのでFormatは使えるのでしょうか?
- kokorone
- ベストアンサー率38% (417/1093)
いろいろな方法がありますが、 dim inp as string dim wrk as string dim reslt as string inp = "123" wrk = "0000000000" & inp reslt = right(wrk,10) 対象データの左に、桁数分の0を付けて、それを右から桁数分切り取る
お礼
補足までありがとうございます。 やってみます。
補足
すみません。 たとえばA列に幾つかあるものを、桁数揃えて置き換えるというのは どうすればいいのでしょうか?
お礼
解決しました。 とても分かりやすかったです。 ありがとうございました。