- ベストアンサー
エクセル2000マクロ記述について
B列の2行目から下記のようなデータがあります。(例4件の18桁) AD120000110000000P AD120000110000000P AD120000110000000P AD120000110000000P 頭から7桁目と8桁目の間、12桁目と13桁目の間に半角のスペースを空けたいのですが マクロでの記述はどうすればよいか教えてください。 データの件数はその都度変わります。
- みんなの回答 (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
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
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列で式を複写してください。
お礼
よくわかりました ありがとうございました。