Kratak odgovor bio bi DA.
Malo duži. Program ima dve petlje jednu po redovima i drugu po kolonama. Unutrašnja petlja, po kolonama, proverava svaku ćeliju tekućeg reda u kolonama 1 do COLUMN_COUNT da li je prazna. Ukoliko su sve ćelije u ovim kolonama prazne taj red se briše. To znači da sa konstantom COLUMN_COUNT određuješ oblast koja se pretražuje da vidiš da li red treba brisati ili ne. To jest, ako odlučiš da brišeš red ako su prve dve kolone u tom redu prazne stavićeš COLUMN_COUNT = 2 i red će biti obrisan čak i ako ima nešto uneto u koloni 3 ili 10.
Spoljna petlja, po redovima, jednostavno prolazi kroz sve redove od 1 do ROW_COUNT, red po red, u potrazi za redom koji treba da se briše. Dakle ako je tvoja oblast do 5000 možeš da staviš 5000 za ROW_COUNT, ali i ne moraš. U tom slučaju višak redova (koji su prazni) će biti izbrisani i nadoknađeni praznim redovima sa kraja tabele, tako da će se jedino izgubiti neko vreme u obradi.
Ukoliko imaš neku kolonu za koju znaš da mora biti popunjena ukoliko red nije prazan, onda ti unutrašnja petlja nije nephodna i možeš provaravati samo ćeliju u toj koloni da li je prazna. Za određivanje poslednjeg popunjenog reda u tom slučaju možeš primeniti sledeći kod, tako da nije potrebno zadavanje ROW_COUNT u kodu nego se on izračuna.
Code:
ROW_COUNT = Cells(65535, cl).End(xlUp).Row
gde je cl kolona koja je sigurno popunjena. Pri tome ROW_COUNT mora se deklarisati kao promenljiva, a ne kao konstanta jer se menja u kodu.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?