くまおやぢの雑記帳

50代のオッサンです。このブログでは、パソコン、スマホ、Excel、AIを使った業務改善や効率化に役立つヒントを紹介しています。毎日の仕事をもっとスムーズに進めるための実践的なアドバイスをお届けします。

Excelで全角、半角を一括変換するマクロ|複数シートで任意のセルを指定

以前上げた、Excelで全角、半角を一括変換するマクロについて、複数シートで同時に処理できるマクロが欲しいとの意見が複数あったのであたらに追加してみました。

以下がそのコードとなります。 複数シートを選択し、任意のセルを指定して一括返還ができます。 よかったらコピペして使ってみてください。

複数シートの同じセルを指定して全角を半角に一括変換するコード

Sub 選択シートの指定セル範囲を半角変換_チルダは全角に戻す()
Dim ws As Worksheet
Dim a As Range
Dim targetRange As Range
Dim targetAddress As String
    
'ユーザーにセル範囲を入力させる
 targetAddress = InputBox("変換したいセル範囲を指定(例: A1:B2):", "セル範囲の指定")
'選択されたシートのみをループ
 For Each ws In ActiveWindow.SelectedSheets
  Set targetRange = ws.Range(targetAddress)
   For Each a In targetRange
    a.Value = StrConv(a.Value, vbNarrow)
    a.Value = Replace(a.Value, "~", "~")
   Next a
 Next ws
 MsgBox "選択シートの指定セル範囲で半角変換が完了。"
End Sub

複数シートの同じセルを指定して半角を全角に一括変換するコード

Sub 選択シートの指定セル範囲を全角変換()
  Dim ws As Worksheet
  Dim a As Range
  Dim targetRange As Range
  Dim targetAddress As String
'ユーザーにセル範囲を入力させる
targetAddress = InputBox("変換したいセル範囲を指定(例: A1:B2):", "セル範囲の指定")
'選択されたシートのみをループ
 For Each ws In ActiveWindow.SelectedSheets
  Set targetRange = ws.Range(targetAddress)
   For Each a In targetRange
    a = StrConv(a, vbWide)
   Next a
  Next ws
  MsgBox "選択シートの指定セル範囲で半角変換が完了。"
End Sub