• ベストアンサー

エクセル2000マクロ記述について

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

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

  • ベストアンサー
  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

こんな感じでしょうか。 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)
回答No.2

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列で式を複写してください。

noname#72697
質問者

お礼

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

関連するQ&A