塗りつぶしの条件が曖昧でしたが、サンプルで掲載いただいたシート内容からオセロ的なものではなく、横方向の範囲塗りつぶしと推測して回答させていただきます。
(掲載いただいたサンプルシートを参考に、各行に1は2回出現し、その範囲を塗りつぶすものとしています。)
処理の流れは以下のようになると思います。
①対象行をループ処理する。
(行ループ開始)2行目~4行目
②各行のB列からI列の範囲で最初の1を探す。
③見つけた1のセルの右隣のセルからI列の範囲で1を探す。
④見つけた始点~終点の間のセルを1に書き換える
(列ループ開始)始点列~終点列
該当行・列のセルの値を1にする
(列ループ終了)
(行ループ終了)
今回はご自身で作成されたコードの掲載がありませんでしたので、回答でもコード記載は控えさせていただきました。
処理手順のアドバイスのみさせていただきましたので、これを参考にコードを起こしてみてください。
その過程でまたわからないことなどが出てきたら、作成コードとともに追記していただければより具体的なアドバイスができると思います。
※前提条件にかなり推測が含まれていますので、見当違いなアドバイスとなっていたらすみません。