logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

excel automatycznie przenoszący wiersz do innego arkusza

WIECZYY 08 Cze 2011 10:01 3678 5
REKLAMA
  • #1 9588870
    WIECZYY
    Poziom 2  
    Posty: 3
    Witam, mój problem z excelem brzmi jak w temacie:

    chodzi mi o samoautomatyczno przenoszący się wiersz do innego arkusza po wpisaniu odpowiedniej wartości...

    szukałem trochę na różnych forach i ten temat wydaje się być najbardziej pasujący do moje problemu: https://www.elektroda.pl/rtvforum/topic1922913.html

    Nie znam się specjalnie na vba i nie wiem jednak jak przerobić to na moje potrzeby... najlepiej będzie jak załącze plik, żeby pokazać o co mi chodzi...
    Załączniki:
    • MOJE.xls (41.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 9589354
    walek33
    Poziom 29  
    Posty: 1015
    Pomógł: 132
    Ocena: 81
    To nie idąc na łatwiznę, w ramach nauki, algorytm powinien wyglądać następująco:
    • ustalasz ilość wierszy do wyszukiwania na podstawie ostatniej nie pustej komórki w kolumnie E
    • w pętli przechodzisz poszczególne wiersze w kolumnie E porównując czy wartość w komórce jest zgodna z szukanym wzorcem np. "WSTRZYMANY"
    • jeżeli nie jest zgodna przechodzisz do następnej komórki nie wykonując żadnego działania
    • w przeciwnym wypadku po ustaleniu pierwszego pustego wiersza w arkuszu "załatwione" kopiujesz tam wartość wiersza, którego adres otrzymujesz w wyniku wyszukiwania. Po kopiowaniu usuwasz skopiowany wiersz i kontynuujesz pętlę do końca.

    Nie podsyłam gotowca ponieważ myślę, że wiedza zdobyta w ramach samodzielnej zabawy przyda się na przyszłość.
    W ramach podpowiedzi dodam, że jako pętli można użyć np. FOR a dla wyboru IF.
    Pozostałe potrzebne funkcje można podejrzeć za pomocą rejestratora makr i zmodyfikować je stosownie do swoich potrzeb (to tak dla całkiem początkujących).
  • REKLAMA
  • #3 9589569
    WIECZYY
    Poziom 2  
    Posty: 3
    Tak szczerze, zaraz wytłumaczę dlaczego "gotowiec" by mi się przydał:

    znam się tak "trochę" na excelu, ale na podstawowych funkcjach itp, nic nie wiem na temat makr, vba itp i moje rozumowanie w przypadku twojej odpowiedzi wygląda tak:

    " ustalasz ilość wierszy do wyszukiwania na podstawie ostatniej nie pustej komórki w kolumnie E" - GDZIE USTALAM TZN GDZIE WPISUJĘ - dopiero dzisiaj nauczyłem się jak w ogóle podejrzeć makro a co już mówić o takim ustalaniu

    " w pętli przechodzisz poszczególne wiersze w kolumnie E porównując czy wartość w komórce jest zgodna z szukanym wzorcem np. "WSTRZYMANY" - co to jest "PĘTLA"?

    " jeżeli nie jest zgodna przechodzisz do następnej komórki nie wykonując żadnego działania" - jak mam przejść do następnej komórki?

    " w przeciwnym wypadku po ustaleniu pierwszego pustego wiersza w arkuszu "załatwione" kopiujesz tam wartość wiersza, którego adres otrzymujesz w wyniku wyszukiwania. Po kopiowaniu usuwasz skopiowany wiersz i kontynuujesz pętlę do końca." - w sumie to j/w, nie bardzo wiem jak ustalić pierwszy pusty wiersz itp..:/


    - mając takiego gotowca porównywałbym sobie to co napisałeś z danym makrem... - jeżeli moje pytania dały ci jakiś podgląd na moje umiejętności to byłbym jednak wdzięczny za zrozumienie, pzdr
  • REKLAMA
  • #4 9589765
    walek33
    Poziom 29  
    Posty: 1015
    Pomógł: 132
    Ocena: 81
    Rozumiem i postaram się pomóc w miarę swoich umiejętności ;)
    Widzę, że wiesz już jak wygląda edytor VBA. Otwierasz go sobie i w okienku projekt wybierasz nazwę pliku na którym będziesz pracować. Niech to będzie Twój przykładowy plik "Moje.xls". Następnie klikasz na "Wstaw >> Moduł". W nim tworzysz swoje makro:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Początek z głowy. Następnie deklarujesz zmienne i przypisujesz im wartość. Do tego służy:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Wpisujesz to w miejsce kropek w powyższym przykładzie. W tym przypadku możesz darować sobie ustalanie ilości wierszy do przeszukania i wykorzystać pętlę wstawiając ją poniżej deklaracji:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    To jest właśnie pętla. A jak działa? Najszybciej sprawdzisz w Helpie.
    Zapoznając się z nią odpowiesz sobie sam na następne pytania.
    Jak wcześniej wspomniałem, do warunkowego wykonania ciągu instrukcji związanych z kopiowaniem użyj:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 9592112
    WIECZYY
    Poziom 2  
    Posty: 3
    eh.. nie to, żebym chciał zrezygnować, ale chyba za wcześnie się porwałem na to vba bo nadal nie bardzo rozumiem. Załączyłem screena żeby pokazać o co mi chodzi, ale chyba jednak najpierw poczytam jakieś totalne podstawy, żeby wiedzieć do czego służą pewne polecenia i jak ich używać i jak czegoś się dowiem to może wrócę tu za jakiś czas... w każdym bądź razie, dzięki za dotychczasową pomoc, pzdr
    Załączniki:
    • vba.JPG (195.84 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #6 9592131
    walek33
    Poziom 29  
    Posty: 1015
    Pomógł: 132
    Ocena: 81
    To chyba masz rację ;). Zacznij od podstaw. End Sub kończy całe makro, więc powinno być ostatnim wierszem.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Z grubsza powinno to tak wyglądać. W miejsce nawiasu trzeba oczywiście wpisać odpowiednie polecenia.
REKLAMA