Pokouším se vytvořit makro, které projde tabulku v oblasti A10 až G1000 a smaže všechny řádky, které nemají žádnou hodnotu právě ve sloupci G. Našel jsem a částečně upravil makro, které zmíněný rozsah prohledá a promazává:
- Kód: Vybrat vše
Sub OdstranPrazdneR()
Dim rngOblast As Range
Set rngOblast = Range("A10:G100")
With rngOblast
.Replace What:="", Replacement:="=NA()", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
.SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
End With
End Sub
Bohužel, mám dva problémy:
1) I když je ve sloupci G nějaká hodnota, tak mi to řádek smaže, kdy není hodnota v jiném sloupci. Tedy, zanechává jen ty řádky, u nichž jsou vyplněny všechny buňky v řádku a když kterákoli buňka vyplněna není, smaže jej.
2) Smaže řádek celého listu, ale já potřebuji, aby smazal pouze řádek od sloupce A do sloupce G a všechny pod tím vždy posunul nahoru.
Řešením je, že bych prohledával pouze oblast
- Kód: Vybrat vše
Set rngOblast = Range("G10:G100")
Neporadíte někdo, jak to udělat?