Microsoft 製品に組み込まれている Visual Basic の実装。
WorksheetFunction.XMatch の引数が間違っているようです。
検索範囲は Range.Value に対応するように下記のようにしてください、
Private Slist() As Variant
Private Sub Class_Initialize()
' Slist = Sheet1.Range("A1").Resize(SNmax).Value
ReDim Slist(1 To SNmax, 1 To 1)
・・・
Slist(cnt&, 1) = i&
End Sub
Slist は2次元配列になるので注意してください。
今回、この配列は値が全て埋まるので問題ありませんが、埋まらない場合は残りをクリアーする必要があります。
修正)
ReDim でも問題ありません。