Excelで文字列の全角・半角が混在していて困ったことはありませんか?「ロ-7-(2)-⑦」のような表記揺れを一括で統一したい、複数のExcelファイルを効率的に処理したい、そんな悩みを解決するマクロを開発しました。
完全無料で公開しますので、ぜひご活用ください。
こんな方におすすめ
- データ整理に時間をかけたくない事務職の方
- 複数ファイルの文字列を一括処理したい方
- 文書番号や商品コードの表記を統一したい方
- システム連携前のデータクレンジングが必要な方
主な機能
複数ファイル対応
- 一度に複数のExcelファイルを選択・処理可能
- 共通するシート名を自動検出
- ファイル間でシート名が異なる場合は警告表示
柔軟な変換オプション
- 全体変換: 全角⇔半角の一括変換
- 文字種別変換: 数字のみ、英字のみ、記号のみの選択的変換
- 指定文字変換: 特定の文字(ハイフン、括弧など)のみを変換
使いやすいインターface
- 設定シートから直感的操作
- 進捗状況をリアルタイム表示
- テスト機能で事前確認可能
変換パターン例
変換前設定変換後用途ロ-7-(2)-⑦数字のみ半角ロ-7-(2)-⑦文書番号統一ABC-123数字のみ全角ABC-123レポート表記商品(特別)指定文字(括弧)のみ半角商品(特別)システム連携用Price:¥1,000記号のみ半角Price:¥1,000価格表示統一
使用方法
STEP1: 初期設定
- Excelでマクロを有効化
- VBAエディタに下記コードを貼り付け
Setting()関数を実行→設定シートが自動作成
STEP2: ファイル処理
- ファイル選択: 「ファイル選択」ボタンで複数ファイルを選択
- シート選択: 自動検出された共通シート名から選択
- 範囲設定: 変換範囲を指定(例:A1:D10)
- 変換設定: 変換パターンを選択
- 実行: 「変換実行」ボタンでスタート
STEP3: 確認
- 「テスト実行」ボタンで事前確認可能
- 処理状況はリアルタイム表示
ソースコード
**Excel VBA
“`
`Option Explicit
‘ グローバル変数
Dim SelectedFiles() As String
Dim FileCount As Integer
‘ メイン設定関数 – 最初に実行してください
Sub Setting()
Dim ws As Worksheet
Dim wsName As String
wsName = “設定”
‘ 設定シートが既に存在するかチェック
Set ws = Nothing
On Error Resume Next
Set ws = ThisWorkbook.Worksheets(wsName)
On Error GoTo 0
‘ 設定シートが存在しない場合は作成
If ws Is Nothing Then
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = wsName
Else
‘ 既存のシートをクリア
ws.Cells.Clear
End If
‘ シートをアクティブにする
ws.Activate
‘ 設定シートのレイアウトを作成
Call CreateSettingLayout(ws)
MsgBox “設定シートが作成されました。各項目を設定して実行してください。”, vbInformation
End Sub
‘ 設定シートのレイアウト作成
Private Sub CreateSettingLayout(ws As Worksheet)
With ws
‘ ヘッダー
.Range(“A1”).Value = “文字列統一変換設定”
.Range(“A1”).Font.Size = 16
.Range(“A1”).Font.Bold = True
‘ ファイル選択セクション
.Range(“A3”).Value = “1. ファイル選択”
.Range(“A3”).Font.Bold = True
.Range(“B4”).Value = “選択されたファイル:”
.Range(“C4”).Name = “SelectedFilesList”
‘ シート選択セクション
.Range(“A6”).Value = “2. シート選択”
.Range(“A6”).Font.Bold = True
.Range(“B7”).Value = “対象シート名:”
.Range(“C7”).Name = “TargetSheetName”
‘ 範囲設定セクション
.Range(“A9”).Value = “3. 変換範囲設定”
.Range(“A9”).Font.Bold = True
.Range(“B10”).Value = “変換範囲(例:A1:D10):”
.Range(“C10”).Name = “ConvertRange”
.Range(“C10”).Value = “A1:Z1000”
‘ 変換形式セクション
.Range(“A12”).Value = “4. 変換形式”
.Range(“A12”).Font.Bold = True
.Range(“B13”).Value = “変換タイプ:”
.Range(“C13”).Name = “ConvertType”
‘ カスタム変換設定
.Range(“B14”).Value = “指定文字変換:”
.Range(“C14”).Name = “CustomChars”
.Range(“B15”).Value = “指定文字の変換方法:”
.Range(“C15”).Name = “CustomConvertType”
‘ ステータス表示
.Range(“A17”).Value = “5. ステータス”
.Range(“A17”).Font.Bold = True
.Range(“B18”).Value = “処理状況:”
.Range(“C18”).Name = “ProcessStatus”
.Range(“C18”).Value = “待機中”
‘ ボタン配置
Call CreateButtons(ws)
‘ プルダウンリストの作成
Call CreateDropdowns(ws)
‘ 列幅調整
.Columns(“A:D”).AutoFit
.Columns(“C”).ColumnWidth = 30
End With
End Sub
‘ その他の関数は長いため省略…`
“`
完全版コードのダウンロード
完全なVBAコードが必要な方は、以下のボタンからダウンロードしてください。
### 文字一括変換/統一ツール
1 ファイル 49 KB
使用上の注意
必ずバックアップを取ってください
- 処理対象ファイルは必ず事前にバックアップを取ってください
- 元ファイルが自動上書き保存されます
事前テスト推奨
- 重要なデータの前に、サンプルファイルでテスト実行
- 「テスト実行」ボタンで動作確認
Excel環境
- Excel 2016以降推奨
- マクロの実行を有効にする必要があります
実践的な活用例
データ分析前の前処理
“`
`変換前: “売上-123,456円”
設定: 数字のみ半角
変換後: “売上-123,456円”
→ 数値として認識可能に`
“`
文書管理システム連携
“`
`変換前: “文書(重要)-01”
設定: 指定文字(括弧・ハイフン)のみ半角
変換後: “文書(重要)-01”
→ システムで一意識別可能`
“`
住所データクレンジング
“`
`変換前: “東京都渋谷区1-2-3”
設定: 数字・記号のみ半角
変換後: “東京都渋谷区1-2-3”
→ 郵便番号システム対応`
“`
サポート・改善要望
お困りの際は
- コメント欄でお気軽にご質問ください
- 可能な限りサポートいたします
機能追加のご要望
- 新しい変換パターンのご提案
- UI改善のご意見
- バグ報告など
お待ちしております!
まとめ
このマクロを使用することで:
・ 時間短縮: 手動修正から解放
・ 品質向上: 統一された表記
・ 効率化: 複数ファイル一括処理
・ 柔軟性: 多様な変換パターン
完全無料で提供していますので、ぜひ業務効率化にお役立てください。
タグ
Excel VBA マクロ データ整理 全角 半角 文字列統一 無料ツール 業務効率化
このマクロが役に立った方は、ぜひSNSでシェアしていただけると励みになります!

