• ベストアンサー

マクロのvbaプログラム

vbaで文字列の先頭等に0を持ってくるプログラムを教えてください。 例. 0000003→0000000003 文字が10個並ぶようにしたいのですが、うまくいきません。 すみませんが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.4

ヘルプを見ればわかると思います。 --- Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) expression 必ず指定します。任意の式を指定します。 式:文字列、数値、オブジェクトのいずれかに評価される、キーワード、演算子、変数、定数の組み合わせ。 --- なので文字列でも問題ありません。 たとえばFor文で --- For i = 1 to 10 Cells(i,1).value = Format(Cells(i,1).value,"0000000000") Next

y6411y
質問者

お礼

解決しました。 とても分かりやすかったです。 ありがとうございました。

その他の回答 (3)

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.3

No2です。 つづり間違えました。 Fromat → Format

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

下記でどうでしょう --- Dim a As String a = "0000003" a = FROMAT(a,"0000000000")

y6411y
質問者

お礼

解決しました。 ありがとうございます。

y6411y
質問者

補足

聞きたいのですが、 たとえばA列に幾つかあるものを、桁数揃えて置き換えるというのは どうすればいいのでしょうか? また、文字列なのでFormatは使えるのでしょうか?

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

いろいろな方法がありますが、 dim inp as string dim wrk as string dim reslt as string inp = "123" wrk = "0000000000" & inp reslt = right(wrk,10) 対象データの左に、桁数分の0を付けて、それを右から桁数分切り取る

y6411y
質問者

お礼

補足までありがとうございます。 やってみます。

y6411y
質問者

補足

すみません。 たとえばA列に幾つかあるものを、桁数揃えて置き換えるというのは どうすればいいのでしょうか?

関連するQ&A