空白を半角か全角に揃えるMyRecord業務の効率化に役立つ情報を発信します。名前のデータは、姓と名を分ける意味合いで、間にスペースを入れることが多いと思います。スペースを半角にするか、全角にするかは入力時にルールとして統一しておくことが理想ですが、すでにあるデータの空白がまちまちの場合、データの抽出や検索時にうまくいかない場合が想定されます。半角スペースが2回や3回続けて入力されている場合は、全角スペースの見分けが付かないことがあります。今回は性と名を分ける間のスペースを半角1つのスペースに統一する方法をご紹介します。方法としては、引数に指定した文字列の中の置換えしたい部分の文字列を指定して置換後の文字列を指定するReplace【リプレイス】関数を使用してスペースを統一する方法と、セル範囲の中から指定した文字列を指定した文字列に置換えるRange【レンジ】オブジェクトのReplace【リプレイス】メソッドを使用する方法があります。Application.InputBox(prompt:="空白を統一するセル範囲を選択してください。Range】ユーザーが選択したセル範囲を格納するオブジェクト変数「セル範囲」をオブジェクト型(Range)で宣言します。Each【フォーイーチ】ステートメントで使用する、コレクションを表す変数「セル範囲」から各要素を表す個々のセルを格納するオブジェクト型変数「セル」をオブジェクト型(Range)で宣言します。String】セルの入力されている文字列を格納する変数「文字列」を文字列型(String)で宣言します。Application.InputBox(prompt:=”スペースを統一するセル範囲を選択してください。Type:=8)】Application【アプリケーション】オブジェクトのInputBox【インプットボックス】メソッドを使用してユーザーにスペースを統一するセル範囲を選択してもらい、Set【セット】キーワードで指定したオブジェクト変数「セル範囲」に代入します。Each【フォーイーチ】ステートメントを使用して変数「セル範囲」に格納されているセル範囲のセルを順に変数「セル」に格納しながら、変数「セル範囲」に格納されているセルの数分処理を繰り返します。繰り返し処理の中変数「セル範囲」から取り出した変数「セル」の値をRange【レンジ】オブジェクトのValue【バリュー】プロパティで取得して変数「文字列」に代入します。】Replace【リプレイス】関数を使用して指定した文字列を置換えします。引数の置換えしたい文字列を含む文字列の引数Expressio【エクスプレッション】にはセルに格納されている文字列が代入された変数「文字列」を指定します。“」の文字列を指定します。“」を指定して、名前の姓と名の間のスペースが半角スペース3つ分ある場合に半角スペース1つに置換えて、変数「文字列」に代入します。ここでのポイントは、引数Find【ファインド】に指定する置換えしたい文字列は半角スペース2つの前に半角スペース3つを指定することです。先に2つを指定した場合3つの半角スペースは1つの半角スペースに置換えができません。先に2つの半角スペースを1つにした場合、3つの半角スペースは2つの半角スペースに変換されてしまい、その後の3つの半角スペースの置換えで検索されず2つの半角スペースを残したまま処理が終了してしまうからです。“」の文字列を指定して1つの半角スペースに置換えして、変数「文字列」に代入します。”」の文字列を指定して1つの半角スペースに置換えて、変数「文字列」に代入します。文字列】Replace【リプレイス】関数の第2引数Find【ファインド】に設定した置換えしたい文字列と一致するセルの文字列でスペースが半角スペース1つに置換えされた文字列が格納されている変数「文字列」の値をオブジェクト変数「セル」に代入して置換え後の文字列をセルに代入します。Long】A列のデータが入力されている最終行のセルの行番号を格納する変数「最終行」を長整数型(Long)で宣言します。1).End(xlUp).Row】Rows.Countプロパティで取得したセルの最終行からRange【レンジ】オブジェクトのEnd【エンド】プロパティを使用してデータが入力されている行を参照してRow【ロウ】プロパティでその行番号を取得して変数「最終行」に代入します。最終行)】Range【レンジ】プロパティでA2セル~A列の変数「最終行」の行範囲、つまりA列のデータが入力されている範囲を参照してWith【ウィズ】ステートメントで指定します。LookAt:=xlPart】With【ウィズ】ステートメントで指定したセル範囲のスペースをReplace【リプレイス】メソッドで半角スペース1つに置換えます。置換える文字列を指定する引数what【ワット】には3つの半角スペース、置換える文字列を指定しる引数Replacement【リプレースメント】には1つの半角スペースを指定します。検索内容を引数what【ワット】で指定した内容と完全一致させるかどうかを設定する引数LookAt【ロックアット】には部分一致を表す定数xlPartを指定します。ここでも最初の検索値は2つの半角スペースの前に3つの半角スペースを指定することがポイントです。】With【ウィズ】ステートメントで指定したセル範囲のスペースをReplace【リプレイス】メソッドで半角スペース1つに置換えます。置換える文字列を指定する引数what【ワット】には2つの半角スペースを指定します。】With【ウィズ】ステートメントで指定したセル範囲のスペースをReplace【リプレイス】メソッドで半角スペース1つに置換えます。置換える文字列を指定する引数what【ワット】には1つの全角スペースを指定します。以上で、スペースを半角か全角に揃える方法についての解説を終了します。ありがとうございました。