Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Excel] - Czyszczenie zakresu z niepotrzebnych danych

Laik2013 21 Kwi 2014 17:35 1158 5
  • #1 21 Kwi 2014 17:35
    Laik2013
    Poziom 11  

    Witam,

    Napisałem małe makro do czyszczenia błędnych danych z listy.

    Nie wiem dlaczego ale pętla nie wyłącza się gdy warunek jest spełniony.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dziękuję za pomoc,

    0 5
  • Pomocny post
    #2 21 Kwi 2014 18:52
    Maciej Gonet
    Poziom 31  

    Dzień dobry,
    Należało załączyć przykładowy plik do testowania. W tekście jest błąd składniowy "Is Numeric" powinno być jednym słowem. Ponadto wewnętrzny warunek pętli nie może być nigdy spełniony, bo gdy komórka jest pusta, to funkcja IsNumeric zwraca True, a tu jest koniunkcja warunków.
    Pozdrowienia.

    0
  • #3 21 Kwi 2014 19:01
    JRV
    Specjalista - VBA, Excel

    Przepraszam, nie zwrócil uwagę na usunięcie wiersza

    0
  • #4 21 Kwi 2014 19:13
    Laik2013
    Poziom 11  

    Cześć

    Poprawiłem na coś takiego.

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    [/syntax]

    Dzięki za podpowiedź odnośnie IsNumeric.
    A da się jakoś inaczej sprawdzić czy są jakieś dane w postaci numerów?

    Pozdrawiam,

    Dodano po 11 [minuty]:

    Witaj JRV

    i = i -1

    wstawiłem po to, aby po usunięciu wiersza pętla cofnęła sie o 1 wiersz i wystartowała ponownie do przodu.

    Może być tak, że jest kilka wierszy jeden po drugim z wartościami liczbowymi a nie chciałbym, aby pętla mi przeskoczyła 1 wiersz i ominęła poprzedni też z liczbą.

    0
  • #5 21 Kwi 2014 19:16
    JRV
    Specjalista - VBA, Excel

    Ja już przeprosił za niedbalstwo.
    Obchodzony :D ^)

    0
  • #6 21 Kwi 2014 23:12
    Maciej Gonet
    Poziom 31  

    Wartości numeryczne można znaleźć bez VBA przez Znajdź i zaznacz/Przejdź do - specjalnie/Stałe/Liczby. Wszystkie liczby zostaną zaznaczone. Potem można usunąć wiersze. W tym przypadku poszukiwanie jest w całym arkuszu, a nie w wybranej kolumnie. Nie wiem czy o to chodziło, czy o inny sposób zrobienia tego w VBA? W VBA jest metoda SpecialCells np.

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Zakres można ustalić wg potrzeb. Potem to już wszystko załatwia jedna linijka kodu. Można ją jeszcze uzupełnić w zależności od potrzeb. Proszę przeczytać opis metody w Helpie.

    0