? 1=1 はい、そうです。

昨日、ExcelVBAerさんから頂いたコメントを見て、あることを思い出した。
f:id:Infoment:20191029230333p:plain

それは、Select Case でLike演算子を使う場合のこと。
docs.microsoft.com

以前職場で、「Trueを付ける」と教わった。↓ こんな感じで。

Select Case True

その時は、Select Case 特有の、特別な使い方だと勝手に思っていた。
しかしその後、解説を聞いてなるほどと思った。

「その後で指定した条件が、正しいかどうかを見てるんです」

例えばイミディエイトウィンドウに訊いてみると、こんな答えが返ってくる。
f:id:Infoment:20191029230921p:plain

1=1は正しい。だから、Trueが表示される(?は、Print の意)。
1=2は間違い。だから、Falseが表示される。

従って、例えばこんな感じになる。

Sub Sample()
    Dim Str As String
        Str = "桃太郎"
        
        Select Case True
            Case Str = "太郎"
                MsgBox "違います"
            Case Str Like "*太郎"
                MsgBox "似てますね"
        End Select
End Sub

「太郎」と「桃太郎」は違う(False)。でも「桃太郎」は、「なんちゃら太郎」と言える(True)。だからこの場合、「似てますね」がメッセージボックスに表示される。
f:id:Infoment:20191029231908p:plain
「金太郎」も「浦島太郎」も、等しく「似てますね」と言ってくれる。
なるほど。と思った次第です。

参考まで。