既に指摘いただいているところですが、補足させていただきます。
(1)
二つのセル範囲を指定することによって、その間のセル範囲を指定する場合は
Range(Cells(r1, c1),Cells(r2,c2))と書きますが、
単一のセルの場合は、
Range(Cells(r1, c1))
と書くとNGです。
Cells(r1, c1)
だけでOKです。
単一セルのケースと考えると、
With Worksheets("all number").Cells(r1, c1).Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With などと書きます。
(2)
Worksheets("all number").Cells(r1, c1).Select と書いた場合、
Worksheets("all number")がアクティブになっていないとエラーになります。
シートをアクティブにしてから実行するか、
むしろSelectは書かない上記のような書き方がよいと思います。
特に、マクロ記録では
・・・・.Select
Selection.・・・・
と記録されることが多いのですが、これをそのまま採用するのは、次の二つの理由から、
できるだけ避けたほう(選択しない方法を選ぶ)がよいと思います。
・コードが冗長になって、可読性が低下します。
(特に複数の場合、頻繁にシートの選択状態を変えると、
現在どのシートが選択されているかを常に意識しなければならず、分かりにくさが生じます)
・Selectはそれなりに負荷があるので、実行効率の面からも推奨されません。
これから多くのコードを読まれることになると思いますが、Selectしないで書く工夫を
皆さんされていますので、その点も注目されるとよいと思います。