以前上げた、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