Andrzej Skupień

Andrzej Skupień sprzedawca,
dn-nightwear

Temat: makro wyszukaj i dodaj z innego arkusza

potrzebuję pomocy przy przerobieniu makra.
Mam 3 kolumny A,B,C
A-kody produktów
B-nazwy produktów
C-ilość produktów

wpisując kod w komórce E-2, zwiększa mi się wartość o 1 w kolumnie C. Oczywiście po wyszukaniu kodu z E-2.
Chciałbym tak przerobić makro aby po wpisaniu kodu w E-2 wyszukało kod ze spisu w arkuszu 2, gdzie będzie
lista wszystkich produktów i skopiowało do arkusza 1 wyszukaną linijkę z kolumn A,B.C.
następnie po ponownym wpisaniu kodu do E-2 sprawdzało czy produkt jest już w arkuszu 1, jeśli tak zwiększyło
ilość w kolumnie C o 1, jeżeli nie ma podanego produktu w arkuszu 1, wyszukało kod w arkuszu 2 skopiowało wiersz do arkusza 1 i dodało 1 w kolumnie C.
jednym słowem chciałbym tworzyć listę produktów z ilościami szt. na podstawie wpisywanych kodów w E-2.
cała lista do wyszukiwania będzie w arkuszu 2.
mam makro, które uzupełnia mi kolumnę C po wyszukaniu z komórki E-2 ale chcę obejść filtrowanie przy liście
zawierającej 360 pozycji.
poniżej makro, z góry dzięki za pomoc

Private Sub Worksheet_Change(ByVal Target As Range)

With Target
If .Address(0, 0) = "E2" Then
Application.EnableEvents = False
If .Value <> Empty Then
On Error Resume Next
wrs = Columns(1).Find(what:=.Value, lookat:=xlWhole).Row
Err.Clear

If wrs <> Empty Then
Cells(wrs, 3) = Cells(wrs, 3) + 1
Else
MsgBox "Nie ma produktu na liście"
End If
.Select
End If
Application.EnableEvents = True
End If
End With

End Sub
Andy L.

Andy L. ITM, VUB

Temat: makro wyszukaj i dodaj z innego arkusza

http://www.goldenline.pl/popup/BBCode.html
ostatnia linijka przed "zamknij okno"
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: makro wyszukaj i dodaj z innego arkusza

Brak jakichkolwiek deklaracji zmiennych jest twoim problemem.
Nie odwołujesz się do zdefiniowanych obiektów to też kod odpowiada na proste, użyte w aktywnym arkuszu zakresy.

Zobacz jak można deklarować zakres (np twój wrs). Jak wykonać pętlę For Each.
Jak zamiast bezpośredniego odwołania, można użyć obiektu do zdefiniowania innego arkusza i użycia tego w pętli zamiast Columns(1) użyć inny_arkusz.Columns(1) albo jeśli nie chcesz pogłębić swojej wiedzy, zobacz jak odnieść się do arkusza przywołując jego nazwę. W tedy jednak zamiast pęli przechodzenia po zdefiniowanych arkuszach będziesz musiał wykonać tyle linijek ile chcesz razy skakać po arkuszach szukając wyniku.
Wszelkie niezbędne informacje znajdziesz pod F1 w helpie developera.

Następna dyskusja:

pobieranie kolumn z innego ...




Wyślij zaproszenie do