Krystian Krystian

Krystian Krystian Specjalista ds.
rozwoju

Temat: Makro kopiujące cały wiersz.

Witam,

Proszę o pomoc w napisaniu kodu, który pomógłby mi filtrować dane. Pracuję na arkuszach z wieloma wierszami (około 2-3 tysięcy wierszy). Chciałbym stworzyć listę słów, lub na początek jedno słowo (np. "dom") zapisanych w kodzie VBA które są kluczem do wyszukania w całym arkuszu tych słów / słowa . Po znalezieniu danego słowa / słów w danym arkuszu, chciałbym aby cały wiersz z tym słowem został przeniesiony na początek arkusza lub wyeksportowany do innego pliku Excel. Z góry dziękuję za pomoc.
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Makro kopiujące cały wiersz.

Ok nie odpowiem ci od deski do deski bo nic sie nie nauczysz. A więc przepis.

Musisz stworzyć pętlę (np FOR) po wierszach, która sprawdzi w twoim zakresie komórek czy występuje szukane słowo, a potem jeśli istnieje to skopiuje dane do nowego arkusza, następnie przejdzie do następnego wiersza. Poniższa linijka jest kluczem jak wyszukać w całym wierszu twojego zakresu:
WorksheetFunction.Concat(Range("zakres_komorek"))

Samo kopiowanie to polecenie .copy np:
ActiveSheet.Rows(x).Copy Destination:=Worksheets("inny arkusz").Rows(y)

gdzie x będzie iterowane pętlą, a y będzie musiało być iterowane przez ciebie po spełnieniu warunku.

Powodzenia.

p.s. Może gotowiec w takiej formie jeśli nie pora na naukę.
Napisałem kiedyś taki dodatek, który dzieli raporty składające się z kilku/kilku tysięcy linii na osobne arkusze sugerując się elementem z danej dowolnej kolumny. Zwykle to są odbiorcy lub klienci, ale czasem też regiony czy inne grupy:

Obrazek



Wyślij zaproszenie do