Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wyszukiwanie po kodzie EAN i dodawanie ilości...

pilaaa 29 Lis 2012 12:33 3111 7
  • #1 29 Lis 2012 12:33
    pilaaa
    Poziom 2  

    Witam Wszystkich. Ponieważ macra w Excelu są dla mnie nie do końca zrozumiałe proszę o pomoc ekspertów ;-). Zaopatrzyłem się w skaner kodów kreskowych DataLogic QuickScan L (USB). Chciałem go wykorzystać do przeszukiwania spisu produktów zrobionego w excelu oraz dodawania ilości na bazie skanu. Wykonałem dosyć spory spis produktów w którym znajdują się następujące kolumny: nazwa produktu, symbol produktu, kod EAN, cena, ilość. Bardzo mi zależy żeby to tak działało: otwieram spis produktów, skanuję kod EAN-13 z produktu który znajduje się w tabeli, po skanie kod zostaje wyszukany w spisie, a w kolumnie ilość (dotyczącej tego konkretnie produktu) automatycznie wpisuje się cyfra 1. Jak zeskanuję ten kod jeszcze raz to ilość zmieni się na 2 itd. Skanowanie kolejnego produktu znowu automatycznie go wyszuka w spisie i doda w ilości 1, itd. Czy coś takiego jest w ogóle do zrobienia czy to tylko moje marzenia? ;-).

    0 7
  • #2 29 Lis 2012 13:01
    marcinj12
    Poziom 40  

    Robiłem kiedyś dokładnie taki plik jak piszesz - nie ma potrzeby nawet stosować makr. Skaner konfigurujesz tak, żeby po sczytaniu kodu wysyłał znak ENTER - co w Excelu powoduje przejście do kolejnej komórki - to w kolumnie A.

    W kolumnie B funkcją WYSZUKAJ.PIONOWO wyszukujesz po kodzie dane w arkuszu-bazie i zwracasz potrzebną kolumnę. Oczywiście kod EAN musi być wtedy pierwszą kolumną w arkuszu-bazie.

    Wyszukujesz bezpośrednio po zeskanowanym kodzie, ewentualnie "zatrudniasz" funkcje obróbki tekstu: LEWY(), PRAWY(), FRAGMENT.TEKSTU() du wycięcia z zeskanowanego kodu interesujący fragment np. z kodem produktu. Ewentualny brak kodu w bazie formatujesz np. na czerwono za pomocą formatowania warunkowego.

    Zliczanie ilości poszczególnych zeskanowanych kodów robisz za pomocą funkcji LICZ.JEŻELI().

    Wszystko powyższe można też zrobić za pomocą makr.

    0
  • #3 29 Lis 2012 14:45
    pilaaa
    Poziom 2  

    marcinj12 napisał:
    Robiłem kiedyś dokładnie taki plik jak piszesz - nie ma potrzeby nawet stosować makr. Skaner konfigurujesz tak, żeby po sczytaniu kodu wysyłał znak ENTER - co w Excelu powoduje przejście do kolejnej komórki - to w kolumnie A.

    W kolumnie B funkcją WYSZUKAJ.PIONOWO wyszukujesz po kodzie dane w arkuszu-bazie i zwracasz potrzebną kolumnę. Oczywiście kod EAN musi być wtedy pierwszą kolumną w arkuszu-bazie.

    Wyszukujesz bezpośrednio po zeskanowanym kodzie, ewentualnie "zatrudniasz" funkcje obróbki tekstu: LEWY(), PRAWY(), FRAGMENT.TEKSTU() du wycięcia z zeskanowanego kodu interesujący fragment np. z kodem produktu. Ewentualny brak kodu w bazie formatujesz np. na czerwono za pomocą formatowania warunkowego.

    Zliczanie ilości poszczególnych zeskanowanych kodów robisz za pomocą funkcji LICZ.JEŻELI().

    Wszystko powyższe można też zrobić za pomocą makr.


    Wszystko rozumiem z tym że zależy mi na większej automatyzacji tych czynności. Zależy mi na pominięciu okienka wyszukaj/zamień. Bo w tej chwili żeby powyższy sposób zadziałał muszę na dzień dobry wywołać okno wyszukiwania czyli ctrl+f, następnie kod zostaje zeskanowany i wyszukany oraz dodana 1 szt. Żeby zeskanować kolejny kod najpierw muszę usunąć poprzedni bo sam nie zniknie a jak go nie usunę to nowy zostanie dodany do poprzedniego. Być może to już lekka przesada ale z mojej strony ale to głównie dlatego że ten system ma być szybki i skanować kod za kodem od razu wyszukując i dodając 1 szt. po każdym skanie, eliminując przy tym wszelkie dodatkowe czynności. A może ja coś źle robię? Ostatnio znalazłem coś podobnego na innym forum. Działało to tak że był stworzony arkusz z dwoma zakładkami. W pierwszej zakładce tabela z bazą danych a w drugiej była tylko pusta tabelka z kolumnami odpowiadającymi kolumnom z pierwszej zakładki. Najpierw trzeba było w pustej tabeli kliknąć pierwsze wolne pole w kolumnie EAN, następnie skan kodu z produktu i w pustym polu pojawiał się zeskanowany kod a reszta kolumn takich jak nazwa i symbol wypełniała się automatycznie. Żeby zeskanować kolejny produkt trzeba było tylko kliknąć kursorem w dół żeby przejść do kolejnego pustego pola, itd. Takie rozwiązanie też by mnie urządzało ale niestety nie byłem w stanie rozbudować tego arkusza o kolejne kolumny które również zaczęłyby się same uzupełniać wraz z zeskanowanym kodem. W każdym razie zależy mi na tym żeby nie wykonywać jakiś irytujących czynności pomiędzy kolejnymi skanami.

    0
  • Pomocny post
    #4 29 Lis 2012 15:10
    marcinj12
    Poziom 40  

    Chyba jednak się nie zrozumieliśmy... Załączam zrobiony na szybko załącznik ilustrujący ideę.

    pilaaa napisał:
    Zależy mi na pominięciu okienka wyszukaj/zamień. Bo w tej chwili żeby powyższy sposób zadziałał muszę na dzień dobry wywołać okno wyszukiwania czyli ctrl+f,
    Nigdzie nie pisałem o tym okienku. Nie musisz go wywoływać. Wyszukujesz za pomocą funkcji wyszukaj.pionowo.

    pilaaa napisał:
    Żeby zeskanować kolejny kod najpierw muszę usunąć poprzedni bo sam nie zniknie a jak go nie usunę to nowy zostanie dodany do poprzedniego
    Nie musisz, jeżeli skonfigurujesz skaner tak jak pisałem - żeby wysyłał znak nowej linii po każdym skanie. Wtedy kody będą się wpisywały jeden pod drugim. Opcja o tyle przydatna, że widzisz historię poprzednich skanów i zawsze możesz coś poprawić ręcznie - zdarza się, że te ręczne skanery nie łapią całego kodu. W takiej sytuacji przechodzisz strzałką w górę, kasujesz kod i skanujesz go ponownie.

    pilaaa napisał:
    ten system ma być szybki i skanować kod za kodem
    Zależy, co rozumiesz przez pojęcie "szybki" oraz łącznej ilości skanowanych kodów. Najlepiej sprawdzić czy takie rozwiązanie jest wystarczająco szybkie.

    pilaaa napisał:
    eliminując przy tym wszelkie dodatkowe czynności
    W proponowanym rozwiązaniu nie ma żadnych dodatkowych czynności po każdym skanie.

    Ostatnim zagadnieniem jest kwestia zliczania ilości: mając listę wszystkich skanów, wystarczy je zliczyć za pomocą funkcji LICZ.JEŻELI. W przykładowym złączniku powtórzyłem bazę kodów na arkuszu ze skanami, ale można też tą funkcję przerzucić do arkusza z bazą. A w celu wyświetlenia podsumowania tylko zeskanowanych kodów, użyć filtra lub tabeli przestawnej.
    Po zakończeniu skanowania plik możesz zapisać albo przekleić dane do innego arkusza jako wartości i ten arkusz gdzieś zapisać.

    Taki arkusz łatwo potem rozbudować o jakieś dodatkowe funkcje: np. formatowanie warunkowe komórek na czerwono, jeżeli nie zeskanowało prawidłowej długości kodu, funkcja WYSZUKAJ.PIONOWO zwróciła błąd albo kod który powinien być unikalny powtarza się...

    0
  • #5 29 Lis 2012 15:47
    pilaaa
    Poziom 2  

    marcinj12 napisał:
    Chyba jednak się nie zrozumieliśmy... Załączam zrobiony na szybko załącznik ilustrujący ideę.
    pilaaa napisał:
    Zależy mi na pominięciu okienka wyszukaj/zamień. Bo w tej chwili żeby powyższy sposób zadziałał muszę na dzień dobry wywołać okno wyszukiwania czyli ctrl+f,
    Nigdzie nie pisałem o tym okienku. Nie musisz go wywoływać. Wyszukujesz za pomocą funkcji wyszukaj.pionowo.

    pilaaa napisał:
    Żeby zeskanować kolejny kod najpierw muszę usunąć poprzedni bo sam nie zniknie a jak go nie usunę to nowy zostanie dodany do poprzedniego
    Nie musisz, jeżeli skonfigurujesz skaner tak jak pisałem - żeby wysyłał znak nowej linii po każdym skanie. Wtedy kody będą się wpisywały jeden pod drugim. Opcja o tyle przydatna, że widzisz historię poprzednich skanów i zawsze możesz coś poprawić ręcznie - zdarza się, że te ręczne skanery nie łapią całego kodu. W takiej sytuacji przechodzisz strzałką w górę, kasujesz kod i skanujesz go ponownie.

    pilaaa napisał:
    ten system ma być szybki i skanować kod za kodem
    Zależy, co rozumiesz przez pojęcie "szybki" oraz łącznej ilości skanowanych kodów. Najlepiej sprawdzić czy takie rozwiązanie jest wystarczająco szybkie.

    pilaaa napisał:
    eliminując przy tym wszelkie dodatkowe czynności
    W proponowanym rozwiązaniu nie ma żadnych dodatkowych czynności po każdym skanie.

    Ostatnim zagadnieniem jest kwestia zliczania ilości: mając listę wszystkich skanów, wystarczy je zliczyć za pomocą funkcji LICZ.JEŻELI. W przykładowym złączniku powtórzyłem bazę kodów na arkuszu ze skanami, ale można też tą funkcję przerzucić do arkusza z bazą. A w celu wyświetlenia podsumowania tylko zeskanowanych kodów, użyć filtra lub tabeli przestawnej.
    Po zakończeniu skanowania plik możesz zapisać albo przekleić dane do innego arkusza jako wartości i ten arkusz gdzieś zapisać.

    Taki arkusz łatwo potem rozbudować o jakieś dodatkowe funkcje: np. formatowanie warunkowe komórek na czerwono, jeżeli nie zeskanowało prawidłowej długości kodu, funkcja WYSZUKAJ.PIONOWO zwróciła błąd albo kod który powinien być unikalny powtarza się...


    Przepraszam. Faktycznie źle Ciebie zrozumiałem. To wynika z mojej słabej wiedzy w tym temacie. Dziękuję za sprostowanie w postaci załącznika, właśnie o czymś podobnym myślałem. Spróbuję to wdrożyć w moją bazę.

    Dodano po 26 [minuty]:

    Cytat:
    Taki arkusz łatwo potem rozbudować o jakieś dodatkowe funkcje: np. formatowanie warunkowe komórek na czerwono, jeżeli nie zeskanowało prawidłowej długości kodu, funkcja WYSZUKAJ.PIONOWO zwróciła błąd albo kod który powinien być unikalny powtarza się...


    Chyba zamiast tego zliczania automatycznego zrobię ręczne wprowadzanie ilości. Po zeskanowaniu w tabeli pojawi się produkt z bazy i trzeba będzie wpisać ilość ręcznie. A orientujesz się może czy można zrobić tak żeby po zeskanowaniu zamiast potwierdzenia ENTER, przenosiło mnie do wskazanej komórki gdzie od razu mógłbym wpisać ilość, tzn. skan --> automatyczne przeniesienie do kolumny ilość --> ręczne wpisanie ilości i po naciśnięciu enter przejść od razu do kolumny kodu, wiersz niżej, tak żeby skanować kolejny produkt. Można takie coś zrobić również bez makra?

    0
  • Pomocny post
    #6 29 Lis 2012 16:59
    marcinj12
    Poziom 40  

    pilaaa napisał:
    A orientujesz się może czy można zrobić tak żeby po zeskanowaniu zamiast potwierdzenia ENTER, przenosiło mnie do wskazanej komórki gdzie od razu mógłbym wpisać ilość, tzn. skan --> automatyczne przeniesienie do kolumny ilość --> ręczne wpisanie ilości i po naciśnięciu enter przejść od razu do kolumny kodu, wiersz niżej, tak żeby skanować kolejny produkt. Można takie coś zrobić również bez makra?
    Tego bez makra raczej zrobić się nie da. Musiałbyś coś takiego sklecić (zakładam że skanujesz do A, a wpisujesz ilość w C):
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #7 29 Lis 2012 19:23
    pilaaa
    Poziom 2  

    marcinj12 napisał:
    Tego bez makra raczej zrobić się nie da. Musiałbyś coś takiego sklecić (zakładam że skanujesz do A, a wpisujesz ilość w C):
    Kod Visual Basic - [rozwiń]
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
    Range("C" & Target.Row).Select
    ElseIf Target.Column = 3 Then
    Range("A" & Target.Row + 1).Select
    End If
    End Sub



    REWELACJA!!! Jesteś wielki :-). Chylę głowę i bardzo dziękuję za pomoc. Mam nadzieję że już nie będę miał problemów. Jakby co jeszcze się odezwę ;-).

    0
  • #8 27 Sty 2013 13:42
    310382
    Poziom 2  

    Witam. ja za to mam inny problem mianowicie chciałbym z istniejącej już bazy zrobić inwentaryzacje czyli ile zostało faktycznie na magazynie np. zeskanować niech odnajdzie kod ean i przejdzie do kolumny powiedzmy e i tam wpiszę ilość i znów skanowanie czy jest coś takiego możliwe.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo