• ベストアンサー

EXCEL VBA で列の数字のみを修正したい

EXCEL VBA で列の数字のみを修正したいのですが 内容としては (1)カッコ内文字はそのまま維持 (2)添付資料のN001から始まっているある機械加工プログラムに   N052,N053を挿入しプログラム内容はそのまま変更なく使用 今まで数値を一つずつ変更していて非常に大変で困っています。 ここでN001から始まる数値のみ順番にマクロで変換したいのですが おすすめのコードを教えてください。 (※A列に記載されているとして)

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

  • ベストアンサー
  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

こういうことでしょうか? Sub test() Dim i As Long Dim j As Long Dim str As String i = 1 j = 1 str = Worksheets("sheet1").Range("A" & i).Value Do While str <> "" If Left(str, 1) = "N" Then str = "N" & Format(j, "000") & Mid(str, 5, Len(str) - 4) Worksheets("sheet1").Range("A" & i).Value = str j = j + 1 End If i = i + 1 str = Worksheets("sheet1").Range("A" & i).Value Loop End Sub N???の???の数字を001~振り直します。

j0957456
質問者

お礼

早速マクロ実行してみました。 ばっちりできました。 カッコ内の文字はそのままでNナンバーのみ書き換えできました。 これで無駄な時間が無くなりました。 ありがとうございました。