La Sub è chiamata da un'altra di livello superiore per due volte in un ciclo For.> Nella prima chiamata funziona regolarmente. Nella seconda non supera l'istruzione indicata anche se le celle risultano selezionate.
Non vedo il progetto nel suo complesso, ma per quel che chiedi, dovrebbe bastare:
Sub Pulizia(rig, col, rigBase, colBase)
Worksheets("Base").Cells(rigBase, colBase).Resize(3, 3).ClearContents
End Sub
Ma non capisco perché gli passi rig e col se poi non le usi, inoltre evita le Select
perché non servono se non a far vedere operazioni a video poco utili se non dannose,
ciao.