次の方法で共有

EXCELでSORTする場合の@の順番について

Anonymous
2023-10-16T05:12:28+00:00

EXCELで文字列データを昇順にSORTすると@の文字が0~9より前に(数字の文字より小さく)なりますが、

VBAのIF文で比較するとASCIIコード順なのか、0~9より@の方が大きいと判断されます。

みなさんどのように回避しているのでしょうか?

EXCELおよびVBAのSORT順 "@" < "0" < "1" … "9" < "A" < "B" …

EXCELのIF関数 "@"<"0" → TRUE

VBAのIF文 "@"<"0" → False

Microsoft 365 と Office | Excel | ビジネス向け | その他

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Makapu 92,110 評価のポイント ボランティア モデレーター
2023-10-17T00:17:41+00:00

32T_Kuro さん、こんにちは。

StrComp 関数を使うと良いですよ。引数は vbTextCompare

Sub Test()

If StrComp("0", "@", vbTextCompare) = 1 Then 

    MsgBox "'0' は '@'よりも大きいです。" 

End If       

End Sub

StrComp 関数 (Visual Basic for Applications) | Microsoft Learn

VBA StrComp 関数:文字列を比較する (tipsfound.com)

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-10-17T01:56:17+00:00

    ご返信ありがとうございました

    今回はこの方法にて回避することが出来ました

    VBAで作った処理で英数字(メインは数字)のコードに突然先頭が「@」文字列を入れられた事で想定外の動きになりました

    コードの見やすさを優先すれば毎回文字列の比較にStrCompを使うわけにもいかない気がしますが

    過去に作成されてVBAの動きが突然おかしいと思ったら、まずは「@」を探し同様にコード変更 したいと思います

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません