Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

VBA Excel] - Usuwanie wierszy pod dwoma warunkami

Glief 17 Aug 2015 22:22 1623 8
  • #1
    Glief
    Level 10  
    Witam serdecznie.

    Potrzebuję prostego makra, które za jednym zamachem usunęłoby wiersze pod dwoma warunkami:

    Usuwa tylko w przypadku, gdy:
    1. W kolumnie G w opisie nie ma słowa "invoice". Uprzedzam, że są tam też inne słowa i liczby
    2. W kolumnie A nie ma kwoty "5.00"

    Niestety nie za bardzo wiem jak zaprzeczyć IF.

    Z góry dziękuję za pomoc.
  • #2
    lesławek
    Level 32  
    Arkusz źródłowy zamieść...
  • Helpful post
    #4
    dt1
    Admin of Computers group
    Coś takiego powinno zadziałać:
    Code: vbnet
    Log in, to see the code


    Wymienione makro jest osadzone w pliku, który załączyłem - można uruchomić i przetestować. Założyłem, że z wymienionych warunków musi wystąpić dowolny z nich, nie oba (co da się łatwo zmienić, jeśli trzeba).
  • #5
    Glief
    Level 10  
    Makro super tylko w tym przypadku zostawiło mi tylko kwoty z "5.00". Chodzi mi o przestawienie tego tak, aby nie usuwało też tych wierszy z kolumny G, gdzie występuje słowo "invoice".
  • Helpful post
    #6
    dt1
    Admin of Computers group
    Glief wrote:
    Makro super tylko w tym przypadku zostawiło mi tylko kwoty z "5.00".

    Glief wrote:
    Usuwa tylko w przypadku, gdy:
    2. W kolumnie A nie ma kwoty "5.00"

    Jeśli w kolumnie A jest kwota 5.00 to pozostawi nietknięty wiersz niezależnie od całej reszty.

    Jeśli ma być inaczej to musisz lekko przeredagować warunki. Załóżmy, że sa możliwe 4 sytuacje.
    1) kwota inna niż 5.00 oraz opis nie zawiera "invoice"
    2) kwota równa 5.00 oraz opis nie zawiera "invoice"
    3) kwota inna niż 5.00 oraz opis zawiera "invoice"
    4) kwota równa 5.00 oraz opis zawiera "invoice"

    Teraz napisz, aby uściślić, co makro ma zrobić po napotkaniu każdej z wymienionych 4 możliwości (do wyboru pozostaw wiersz lub usuń wiersz).
  • #7
    Glief
    Level 10  
    Rozumiem. Te wiersze, które mają kwoty "5.00" nigdy nie mają w opisie "invoice"

    Dlatego też chcę, aby za jednym razem usunął wszystko, co nie ma w opisie (kolumna G) "invoice" + wszystko, co nie ma kwoty "5.00" w kolumnie A.
  • Helpful post
    #8
    dt1
    Admin of Computers group
    To wersja makro, które wrzuciłem dokładnie to robi. Po przemieleniu Twoich przykładowych danych pozostało dokładnie 100 wierszy, z czego zostały tylko wiersze z "invoice" w opisie a także wiersze z kwotą 5.00 niezależnie od reszty opisu.
  • #9
    Glief
    Level 10  
    Przetestowałem chwilę później i zadziało super. Bardzo dziękuję, temat można zamknąć :)