target as Range
この場合、target変数型は「オブジェクト型」になります。それに対して
Set target = Range(\u0026quot;A1:B10\u0026quot;)
ですと「複数セル」になり、valueプロパティは「配列変数」になります。つまりIf文で比較する時に変数の型が合わず実行時エラーになります。
Rangeオブジェクトを使うと質問者さんが期待する動作をさせるのは難しいと思います。自分ならLoop文と配列変数を使い、Cellsプロパティで「列、行、セルの値」を数値で制御します。