Odpowiedzi:
Aby dodać do tego, co powiedział ToonMariner, ta strona internetowa zawiera zarówno formułę, jak i rozwiązanie VBA. Uważam, że szczegóły autora dotyczące używania formuły są nieco mylące. Za pomocą dostarczonej formuły:
= JEŻELI (ROW () - ROW (NoBlanksRange) +1> ROWS (BlanksRange) -COUNTBLANK (BlanksRange), "", INDIRECT (ADRES (MAŁY ((IF (BlanksRange <> ""), ROW (BlanksRange), ROW () + ROWS (BlanksRange))), ROW () - ROW (NoBlanksRange) +1), COLUMN (BlanksRange), 4)))
Po prostu podświetl jedną kolumnę, klikając nagłówek i nazwij ją „BlanksRange”
Kolumna „BlanksRange” powinna zawierać Twoje wartości. (Kolumna A z Twojego zrzutu ekranu)
Podświetl drugą kolumnę i nazwij ją „NoBlanksRange”.
Kliknij pierwszą komórkę w „NoBlanksRange”, wklej formułę do pola tekstowego formuły u góry i naciśnij jednocześnie klawisze CTRL-SHIFT-ENTER
Po zaznaczeniu pierwszej komórki kliknij prawy dolny róg pierwszej komórki i przeciągnij ją w dół do tej samej liczby wierszy, co kolumna „BlanksRange”.
Poczekaj kilka sekund (w zależności od danych), a żądane wyjście zostanie ujawnione.
Upewnij się, że odczekałeś kilka sekund, aby zobaczyć wyniki ... na moim komputerze, nawet tylko około 10 wierszy wymagało około 4 sekund, zanim pojawią się prawidłowe dane.
Upewnij się także, że kiedy kopiujesz i wklejasz formułę ze strony internetowej, to wszystko tam jest, ponieważ przełamanie linii może spowodować, że wklei tylko część formuły.
Możesz także użyć AutoFiltera, aby przefiltrować listę, usuwając puste miejsca, a następnie skopiować i wkleić ją w dowolnym miejscu.