提示のコードのMatchの対象範囲は単なる文字列ですから、Matchは常にエラー値を返します。
対象範囲は一次元配列である必要があります。
こんな風にします。
Sub test()
'標準的な書き方
MsgBox IsError(Application.Match(Range("A1").Value, Array("1/1", "1/2", "1/3"), 0))
MsgBox IsError(Application.Match(Range("A2").Value, Array("1/1", "1/2", "1/3"), 0))
'Application.Evaluate([ ])を使用する場合
MsgBox IsError(Application.Match(Range("A1").Value, [{"1/1","1/2","1/3"}], 0))
MsgBox IsError(Application.Match(Range("A2").Value, [{"1/1","1/2","1/3"}], 0))
End Sub
参考までに。
VBA で Application.Matchを使う場合、対象範囲は一次元配列である必要があります。
Sub test2()
Dim v1, v2
v1 = [{"1/1","1/2","1/3"}]
v2 = [{"1/1";"1/2";"1/3"}]
Stop
End Sub
でローカルウインドウで確認してください。
v1は一次元配列
v2は二次元配列です。
従って、
v2のような二次元配列を対象範囲に指定すると、必ずエラーが返ります。