スポンサーリンク

VBAで氏名を姓と名で分割する

VBAデータ氏名分割 Excel-VBA

表を作成していると、データ処理に手間をかけていると仕事の作業効率が悪くなり時間ばかりかけていませんか?

顧客管理などで名簿があり、氏名の姓と名を自動的に分割して振り分けてくれたら楽ですよね。

波乗りアヒル
波乗りアヒル

この氏名分割作業を手作業でやりますか?それともVBAでやりますか?

スポンサーリンク

Excel-VBAで氏名分割

このページにたどり着いたという事は、何らかの理由で私と同じくセルに直接エクセル関数を記載できないからVBAでやろうと思ったんじゃないですか?

ここでは、下の図の顧客名簿を参考にセル「B列」の氏名を「C列」に姓、「D列」に名をユーザーフォームに配置したコマンドボタンに記述してクリック表示させましょう。

VBA氏名分割
VBAコード

Private Sub CommandButton1_Click()
Range(“B2:B9”).TextToColumns Destination:=Range(“C2”), DataType:=xlDelimited, Space:=True
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. セルB2~B9の値をスペースの位置で分割して、セルC2を左上端に指定して分割してデータ入力をする
  3. マクロ記録終了

これで、このように氏名を分割してデータ入力が完成しました。

VBA氏名分割

このままでも問題ないのですが、データ分割するたびに毎回「データ置き換えますか?」ってメッセージが表示されるのが目障りで手間なので、表示されないようにVBAコードを付け足しましょう。

VBA-DisplayAlerts
VBAコード

Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
Range(“B2:B9”).TextToColumns Destination:=Range(“C2”), DataType:=xlDelimited, Space:=True
Application.DisplayAlerts = True
End Sub

解説

Application.DisplayAlerts = False で、メッセージを非表示に設定をしてから、氏名分割をして、 Application.DisplayAlerts = True で非表示設定を表示設定に戻します。

VBAで氏名分割は意外と簡単なので、ぜひ挑戦してみてくださいね。

Excel-VBAもくじへ

コメント