Aktywne Wpisy

źródło: scaled_1000004589
Pobierz
Teuvo +18
ile kosztuje wybudowanie domu parterowego 60 m2 + garaż na 1 auto i rower
Skopiuj link
Skopiuj link
źródło: scaled_1000004589
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Moje "umiejętności" kończą się na macro recording, a potrzebuje czegoś nieco bardzie "zaawansowanego".
Mam dokument, nie więcej jak 1000 linii w excelu. Potrzebuję, aby macro wyszukiwało daną wartość (zawsze trzy literowy kod AAA, BBB, CCC, ABC, ZXC itd). i kopiowało rząd (linijkę) do sheet2 w danej (niezmiennej) kolejności. Czyli musi być "po mojemu", ale zawsze kolejność taka sama.
Zrobiłem to vlookup, ale powyżej pewnej ilości linijek to staje się uciążliwie wolne.
Jeżeli nie znajduje wartości (exact match) to niech wpisuje ERROR.
#programowanie #vba
Sub Copy_Data()
Dim Src As Worksheet, Dst As Worksheet
Dim LastRow As Long, r As Range
Dim CopyRange
Może użyć select case r.value zamiast if r.Value?
Select Case r.value
case "AAA", "BBB", "CCC" 'dla select case warune OR zapisuje się w ten sposób, listując możliwości po przecinkach
If CopyRange Is Nothing Then
Set CopyRange
https://codeshare.io/G8JQo4
https://ufile.io/grxvc
Jak dla mnie to wygląda jak powyżej.
Pozdro
Choćby to:
i_lst_dest_row = Application.CountA(ws_dest.Columns(1)) + 1Odpalane przy każdym wierszu. Skoro kod dodaje po jednym wierszu
P.S. W zasadzie rzeczywiście można użyć licznika i_iterate zamiast counta "Ale mi jest głupio" #pdk .
nie wiem w której kolumnie szukasz wartości - założyłem, że w pierwszej.
nie wiem gdzie ma wpisać ERROR, więc ustawiłem by zamieniał znalezioną wartość niezgodną z szukaną na ERROR.
na pewno da sie to zrobić efektywniej, np