エクセルVBAで氏名・名前を姓と名で自動的に分割する簡単な方法

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

エクセルで表などを作成していると、並べ替えや振り分けなどのデータ処理が面倒だと思ったことはありませんか?

データ処理に手間をかけていると仕事の作業効率が悪くなり時間ばかりかかる上に、間違う事もよくあるのでエクセルVBAを使用して一瞬で作業を終わらしましょう。

ここでは、顧客管理などで名簿で氏名の姓と名を自動的に分割して振り分ける方法をご紹介します。

波乗りアヒル

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

Excel-VBAで氏名分割

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

氏名分割
氏名分割
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コード

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で氏名分割は意外と簡単なので、ぜひ挑戦してみてくださいね。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。