• ベストアンサー

マクロで英字と数字の間にハイフンを入れたいです。

ABC-111 ABC111 DE-222 DEFG333 ABC-11-1 DEF11-1 を ABC-111 ABC-111 DE-222 DEFG-333 ABC-11-1 DEF-11-1 のように英字と数字の間にハイフンが入っていない場合だけ ハイフンを入れるにはどうしたらよいのでしょうか? 対象は、シート「資料」のC4からC1000です。 よろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 画面左下の「資料」Sheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() 'この行から Dim i, k As Long Dim str1, str2 As String For i = 4 To Cells(Rows.Count, 3).End(xlUp).Row For k = 1 To Len(Cells(i, 3)) str1 = Mid(Cells(i, 3), k, 1) str2 = Mid(Cells(i, 3), k + 1, 1) If str1 Like "[A-z]" And str2 Like "[0-9]" Then Cells(i, 3) = Replace(Cells(i, 3), Mid(Cells(i, 3), k, 2), str1 & "-" & str2) End If Next k Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

nagattyu4761
質問者

お礼

思い通りです。 ありがとうございました。

関連するQ&A