W drugim przykładzie pierwsze (Then) "ActiveCell.Offset(1, 0).Range("a1").Select" nie potrzebne - jeśli będzie więcej niż jedna pusta komórka pod rząd to pozostawi część pustych - po usunięciu tego jest okay. W części Else musi to oczywiście pozostać. "ActiveCell.Offset(1, 0)" - jak dal mnie jest logiczne ( przejdź o..), ale ta druga część Range("a1").Select (zaznacz komórkę/"zasięg" "A1") - nie wiem po co to.. ??? możesz wyjaśnić?
Widzę, że znalazłeś odpowiedź - ale zostawię dla innych rozwiązanie - 424 runtime error sugeruje nam między innymi możliwość zrobienia literówki w kodzie - sprawdzajcie to xD