1つだけ過去を変えられるとしたら?

B列の2行目から下記のようなデータがあります。(例4件の18桁)
AD120000110000000P
AD120000110000000P
AD120000110000000P
AD120000110000000P

頭から7桁目と8桁目の間、12桁目と13桁目の間に半角のスペースを空けたいのですが
マクロでの記述はどうすればよいか教えてください。
データの件数はその都度変わります。

A 回答 (2件)

こんな感じでしょうか。



Sub Macro1()
Dim i As Integer
Dim buff As String

i = 2
While 1
If Range("B" & i).Value = "" Then
End
End If
buff = Range("B" & i).Value
Range("B" & i).Value = Left(buff, 7) + " " + Mid(buff, 8, 5) + " " + Right(buff, 6)
i = i + 1
Wend
End Sub
    • good
    • 0

VBAでは下記。


Private Sub Worksheet_Activate()
n=20
for i=1 to n
a = Worksheets("sheet1").cells(i,1) 'A列のセルデータ
Worksheets("sheet1").Cells(i,2) = Mid$(a, 1, 7) & " " & Mid(a, 8, 5) & " " & Mid(a, 13, 7)
'B列にデータをセット
next i
End Sub
------------
関数式ならA3のセルのデータをB3にセットするなら
=MID(A3,1,7) & " " & MID(A3,8,5) & " " & MID(A3,13,7)
で同じものです。関数式のほうは、B列で式を複写してください。
    • good
    • 0
この回答へのお礼

よくわかりました
ありがとうございました。

お礼日時:2002/03/16 10:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!