• ベストアンサー

エクセルVB 桁数を合わせる

VB初心者です。 エクセルでマクロを作りたいのですが、下記内容で困っています。 A列に示したドットで区切った数値をB列のようにすべて3桁表記にしたいのですが、 わかりません。誰か教えてください。 A B 1 123.456.33.421 → 123.456.033.421  2 243.555.235.21 → 243.555.235.021 3 221.123.24.53 → 221.123.024.053

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

  • ベストアンサー
  • galoon
  • ベストアンサー率28% (38/133)
回答No.2

こんな関数でいかがでしょう?ちょっと汚いですけど・・・。 実際に利用するシートに割り当ててくださいね。 Sub hogehoge() Dim row As Long Dim src, tmp, res As String Dim pos As Integer row = 1 Do While Len(Cells(row, "A").Value) <> 0 And row < 65536 src = Cells(row, "A").Text res = "" Do While Len(src) <> 0 pos = InStr(1, src, ".") If pos <> 0 Then tmp = Left(src, pos - 1) src = Right(src, Len(src) - pos) Else tmp = src src = "" End If If Len(res) <> 0 Then res = res & "." End If If IsNumeric(tmp) Then res = res & Format(CInt(tmp), "000") Else res = res & tmp End If Loop Cells(row, "B").Value = res row = row + 1 Loop End Sub

aban
質問者

お礼

確認できました。 助かりました。ありがとうございます。

その他の回答 (1)

回答No.1

>A列に示したドットで区切った数値をB列のようにすべて3桁 はわかりません。 A列に示したドットで区切っていない数値をB列のようにすべて3桁 だったらわかります。 Range("A1:B3").NumberFormatLocal = "#"".""000"".""000"".""000" A B 1 123456033421 → 123.456.033.421 2 243555235021 → 243.555.235.021 3 221123024053 → 221.123.024.053

関連するQ&A