【VBA】漢字の並べ替えができない時の対処法!

VBA
この記事は約2分で読めます。

VBAでデータをソートした時に正しく並び変わらなかったとはありませんか?
今回は並び替えができなかった原因と対処法をご紹介します。

この記事でわかること
  • 正しく並び変わらない理由
  • 正しく並び替えるための方法
スポンサーリンク
[ad01]

データが正しくソートされない

ソートされない状態を再現します。

支店ごとの従業員情報を確認するために、以下の通りに並び替えてみましょう。

ソート順

①支店 > ②名前 > ③年齢

使用したコードはこちら↓

実行結果を確認すると名前降順で並び替えたはずが「伊藤さん」が「内山さん」の下にいますね。

うめ
うめ

なんで五十音順に並ばないんだろう?

原因は「ふりがな」

「名前」の列をふりがな表示に切り替えると正しくソートされなかった「伊藤さん」にふりがなが設定されていないことがわかります。

ふりがなが表示されない理由

セルに直接入力されなかったデータではなかったのが理由です。
メモ帳などエディターから貼り付けたデータにはふりがなが表示されません。

対処法

対処法は2つあるので、状況によって使い分けましょう。

対処法
  1. ソート条件でふりがなを除外
  2. ソート前にふりがなを一括削除

ソート条件でふりがなを除外

名前」のソート内に「SortMethod:=xlPinYin」を追記するとふりがなを無視して入れ換えを行います。

ソート前にふりがなを一括削除

ソート前に「Characters.PhoneticCharacters=””」でふりがなの情報を空白に変更します。

これで正しく並び替えができます!

まとめ

今回はVBAでデータをソートした時に正しく並び変わらなかった時の対処法についてご紹介しました。

コードが間違っていないのにソート順がおかしい場合はふりがなを確認してみましょう!

この記事が気に入ったら
いいね ! しよう

Twitter で

VBAを学習する時間が取れない人

VBAは我流で組むことができますが、初心者だと作業時間が多く掛かったり、間違った部分を見つけるのに苦労したります。

VBAが組めるようになれば便利なことも多いですが、仕事をしながら勉強するのは結構大変…。

もし時間に追われて思うようにいかないのであればココナラで「VBAを組める人」に依頼してみませんか?

個人で販売しているため価格も抑えらえれます
まずはこちらから無料会員登録をして依頼をしてましょう!


VBA
スポンサーリンク
[ad01]
うめをフォローする
梅屋ラボ
タイトルとURLをコピーしました