もしよい回答が出れば下記は無視してください。
またVBAが性に合わなければ無視してください。
ーーー
質問文の説明がそっけなくて、真意がよくわからない。
「文字種を加味した(文字種による)並べ替え」を希望しているのかな。
エクセルの場合は・文字コードか・ふりがなでの並べ替えができると思う。
どちらも、コンピュター基礎的仕様で並び順番は決まっていて、自由にならない。
しかし、もっと自分の思うとおりにやるのは、普通のエクセルでの並べ替えの操作では、むつかしいと思う。
VBAには関心がないかもしれないが、したいことに合致したら、そしてやる気になれば、検討してみてください。
・A列の左に2列を挿入する
・その右側B列に問題のデータの入っている列をコピー。A列は空白のまま。
・エクセルのシートの画面で、ALTキーを押しながら、F11キーを押す。VBE画面という画面になる。
・下記のプログラムをコピーし、上記の画面(VBE画面)に貼り付ける。
Sub test01()
lr = Range("B65536").End(xlUp).Row 'データはB列にあるとする
MsgBox lr ’データ行数は自動的に取れる。その間の各行で、街頭の判定を繰り返す
For i = 2 To lr
x = Left(Range("B" & i), 1) '第1文字を取って問題にする。第1文字は英字で第2文字以下は漢字などはないとする
If x Like "[あ-ん]" Then
Range("A" & i) = 1
ElseIf x Like "[ア-ン]" Then
Range("A" & i) = 2
ElseIf x Like "[A-Z]" Then
Range("A" & i) = 3
ElseIf x Like "[亜-黑]" Then
Range("A" & i) = 4
ElseIf x Like "[ア-ン]" Then
Range("A" & i) = 5
Else
Range("A" & i) = 6
End If
Next i
End Sub
上記を下記の考慮で修正する。
氏名か商品名をイメージして、第1文字目だけを問題にする
ひらがな [あ-ん]
カタカナ [ア-ン]
英字 [A-Z]
漢字 [亜-黑]
カタカナ [ア-ン]
その他
について、ソートでの優先順位の順に数字コード1桁を考えて決めてください。
そして 上記VBAコードで [あ-ん]や[ア-ン]
などのある行のすぐ下の行の
Range("A" & i) = 1などの数字を、質問者の決めたコード(数字)で書き換えてください。
その他の行はElseの下の
Range("A" & i) = 6
で最大の数字を設定してください。
修正し終わったら
・F5キーを押します。(プログラム実行です)
・シートA列、B列(元からあり)に
A列 B列
文字種 氏名
2 アオキ
6 aoki
4 青木
1 あおき
3 William
4 木村
5 アオキ
のように設定されます。
A列を第1優先ソートキー列として、
これでA列とB列や、A列とフリガナなどで並べ替えすればどうでしょう。
A列が第1優先の並び替えキーになります。