- ベストアンサー
エクセル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
- みんなの回答 (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
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
>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
お礼
確認できました。 助かりました。ありがとうございます。