エクセルのソート順がおかしい
B4セルから縦方向に以下のデータを降順にオプションでコード順にソートする。
磐田
川崎
G大阪
C大阪
の順になる。
各要素間の値の比較する関数をVBAで作成して比較すると
川崎 < G大阪
となり、大小関係がおかしくなる。
上記以外の比較は下記のとおり正しい。
磐田 > 川崎
G大阪 > C大阪
各要素間の値の比較する関数は以下である。
Option Explicit
Function compare(str1 As String, str2 As String) As String
' 大小関係を検査する
If str1 > str2 Then
compare = str1 & " greater than " & str2
ElseIf str1 = str2 Then
compare = str1 & " Equal to " & str2
Else
compare = str1 & " smaller than " & str2
End If
End Function
実際のプログラムは「2分木探索」を使用しているので,大小関係が大切である。
これはどうすればソートがコード(ユニコード)順になるのか、教えて下さい。
なおエクセルは2000を使用している。
No.1ベストアンサー
- 回答日時:
>どうすればソートがコード(ユニコード)順になるのか、教えて下さい
ちなみにOption Compare Textを宣言すると,通常のワークシートのソート順にVBAが従うようにできます。
そうではなくあくまでも並べ替えの動作をVBAに倣わせたいのでしたら,そういう設定はありません。
ご自分でVBAと同じユニコード順に従って並べ替えるプログラム(たとえば簡単なバブルソート)を実装して,実行してください。
No.3
- 回答日時:
>川崎 < G大阪
>大小関係がおかしくなる。
全体は見えませんが、Unicode 比較でしたら、正しいのではありませんか?
全角のGは、FF27 (24029)です。
川崎の川は、5DDD (-217)ですから、
どちらが大きいかは自明ですね。
JIS比較するなら、
全角のGは、90EC(-32154)です。
川崎の川は、8266(-28436)ですから、
川崎 > G大阪
となりますね。
ワークシートは、JIS比較です。VBAでも、JIS比較は出来ますが、ワークシートの並べ替えを使ったほうが早いです。
TextCompare にしたら、全角・半角・小文字・大文字が一緒になります。だから、Gそのものは、半角扱いになりますから、
半角:全角 "G" = "G" となります。
なお、質問は、[ですます]文でお願いします。
No.2
- 回答日時:
磐田(イワタ)
川崎(カワサキ)
G大阪(ガンバオオサカ)
C大阪(セレッソオオサカ)
()内のフリガナ順になってませんか?
並べ替え時にオプションで“ふりがなを使わない”設定にしてみてください。
VBAだとSortMethodでxlPinYinが“ふりがなを使う”、xlStrokeが“ふりがなを使わない”になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Visual Basic(VBA) ワークブック内すべて検索 2 2022/12/20 20:13
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Visual Basic(VBA) Worksheet_Change 4 2023/03/12 21:54
- Visual Basic(VBA) vba 最大値 条件分岐 4 2022/12/10 10:20
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) ワークシートチェンジで曜日を表示する方法 1 2023/03/04 21:51
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
精子が黄色?
-
勃起する時って痛いんですか? ...
-
尿検査前日に自慰行為した時の...
-
尿検査の前日は自慰控えたほう...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
精子に血が・・・
-
中出しをするとお腹が痛い・・・。
-
納豆食べた後の尿の納豆臭は何故?
-
甲状腺腫れ
-
EXCELで式からグラフを描くには?
-
EXCELで条件付き書式で空白セル...
-
筋トレするとチンコが縮んじゃ...
-
爪が紫色?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報