Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[excel] Inwentura w excelu, zliczanie powtarzajacych sie wpisow

askr 18 Sep 2011 20:57 8872 23
  • #1
    askr
    Level 35  
    I kolejna zagwozdka w excelu.
    Mam duzo wymieszanych produktow i czytnik kodow kreskowych. Zeskanowane kody wpisuja sie w jedna kolumna.
    Chce po koleji wczytac wszystkie produkty w koszu, a potem w jakis sposob podliczyc powtorzenia.
    Moge to zrobic za pomoca autofitrowania i zliczania funkcja "ile wystepuje", ale jestem ciekawy czy jest jakis sensowniejszy sposob obliczenia tego?
  • #2
    powerm
    Level 23  
    Posortuj wg powtarzających się kodów i użyj sumy pośrednie tam w opcjach zamiast sumuj wybierz licz.
  • #3
    robig
    Level 21  
    Wykorzystaj tabelę przestawną.
  • #4
    mikstu2
    Level 27  
    Można to także zrobić (napisać programik) przy pomocy Visual Basic for Application.
    Wtedy wyniki mogą być zaprezentowane w dowolnej, wygodnej dla nas formie.
    Opłaca się to wtedy, gdy operację taką będziemy przeprowadzać częściej.
  • Helpful post
    #5
    braciszek0
    Level 13  
    Gotowe makro napisane pod Excel 2003:

    Code: vbscript
    Log in, to see the code


    W załączniku plik z powyższym makrem. Zwróć uwagę że są różne ceny przy tych samych nazwach i to makro rozróżnia.
    Attachments:
  • Helpful post
    #6
    braciszek0
    Level 13  
    Powyżej około 300 wierszy potrzebuje trochę czasu na przeliczenia. Wiem bo korzystam codzienie z podobnego makra
  • #8
    braciszek0
    Level 13  
    Proszę. :)

    W poprzednim makro usuń wiersz
    Code: vbscript
    Log in, to see the code


    Natomiast w wierszach:
    Code: vbscript
    Log in, to see the code

    zamień literkę b na c
    Code: vbscript
    Log in, to see the code


    Teraz w Arkuszu " zestawienie" w kolumnie C podajesz ilość sztuk. WAŻNE!! Musi się tam znaleźć przynajmniej cyfra 1 ( przy pustej komórce nie policzy danego wiersza)
  • #9
    Linbaba
    Level 10  
    Witam.
    To mój pierwszy post na elektroda.pl.
    Nie chciałem zakładać nowego tematu a mam pytanie. Kolega askr napisał że kody są zapisywane w jednej kolumnie. I to jest mój problem jak to zautomatyzować.
    Chodzi mi o to że skanuje kod i jest on wpisywany do komórki po czym muszę nacisnąć enter żeby następny kod wpisał się w komórce niżej. Moje pytanie: Czy da się ustawić excela tak żebym nie musiał wciskać tego entera, tylko po zeskanowaniu sam program przechodził do następnej komórki??
    Chcę tak zrobić bo potem muszę policzyć ile tych kodów jest, a produkcja jest masowa więc chciał bym to zautomatyzować. Z góry dziękuje za odpowiedź. Pozdrawiam
  • #11
    braciszek0
    Level 13  
    Nie bawiłem się ze skanerami pod Excelm. Ale wydaje się mi że można napisać warunek że jeżeli komórka jest pełna to ma przejść do następnej. Lub wymusić przejście do następnej komórki po zakończeniu skanowania. Coś podobnego pisałem pod C# + MySQL, jeżeli textbox był już zapisany to wstawiłem wymuszenie zapisania do bazy poprzednich danych.
    Jak podeślecie mi kod, którym obsługujecie skaner to może coś wymyślę.
    Pozatym jeżeli długość kodów kreskowych jest taka sama to można "nauczyć " Excela kiedy skończyło się wpisywać :)
  • #13
    braciszek0
    Level 13  
    Ale można by gdzieś w kod wkleić coś w stylu:
    Sub makro3()
    p = 1
    Range("g" & p).Select
    Range("g" & p) = "1"
    p = p + 1
    Range("g" & p) = "1"
    p = p + 1
    Range("g" & p) = "1"
    p = p + 1
    Range("g" & p) = "1"
    p = p + 1
    Range("g" & p) = "1"
    End Sub


    Posukam jak w Excela podpina się Skaner kodów kreskowych i wymyślę jak mu wstawić automatyczny "Enter" :)

    Skoro da się w C# to w VB Excela też.
  • #15
    braciszek0
    Level 13  
    Askr zarzuć mi na priv kod dzięki któremu z czytnika kodów wypełniasz komórki w arkuszu (bedzie szybciej), a ja dla potomnych pokombinuję i dopiszę funkcję automatyczneo przejścia do następnej komórki.
  • #16
    askr
    Level 35  
    ee nie ma żadnego kodu.
    Nawet notatnika można wypełniać z czytnika kodów kreskowych.
    System widzi go jak zwykłą klawiaturę - zeskanowanie kodu powoduje, że czytnik wysyła ciąg cyfr jaki był zapisany w kodzie, a na koniec - enter.
  • #17
    braciszek0
    Level 13  
    Ok popróbuję jutro w pracy. Bo mam akurat podpięty czytnik ale w innym celu. Testowania projektu w C# .
  • #19
    braciszek0
    Level 13  
    Ppoprawka do macra zliczającego wiersze
    należy jeszcze poprawić wiersz:
    Code: vbscript
    Log in, to see the code

    na
    Code: vbscript
    Log in, to see the code
  • #20
    Linbaba
    Level 10  
    I co panowie, żaden nie potrafi mi pomóc?? W notatniku jak daje zeskanowany kod to jest automatyczny enter ale w excel'u to nie działa. skaner jest widoczny w systemie jako klawiatura ale nie ma tam nigdzie opcji automatycznego enter. Może jakieś dodatkowe sterowniki?? Może jakieś proste makro? Bardzo mi na tym zależy.
  • #21
    adamas_nt
    Moderator of Programming
    Wypadało by jednak założyć nowy temat, wtedy (w uzasadnionych przypadkach) zawsze możesz kliknąć [pomógł].
    1) Końcowy znak. Sprawdź jeszcze raz ustawienia czytnika.
    2) Makro. Zależy czy komórka po wpisaniu kodu jest w trybie edycji, czy nie (prawdopodobnie opcja w czytniku). Czy następny kod jest nadpisywany, czy dopisywany w komórce?
    3) Inaczej. Jeśli zapis w pliku tekstowym jest prawidłowy, to można zaimportować go do Excela.
  • #22
    Linbaba
    Level 10  
    Czytnik nie ma żadnych takich opcji o których mówisz, import do exela chce właśnie wyeliminować to ma być od razu w excel'u. Komórka po zeskanowaniu kodu jest w trybie edycji, a następny kod jest dopisywany dalej do tego pierwszego.

    PS jak mi pomożesz kliknę Ci "pomógł" o to nie musisz sie martwić. Pozdrawiam.
  • #23
    braciszek0
    Level 13  
    Zaczyna się robić post o wszystkim i o niczym.


    Linbaba PROSZĘ załóż osobny temat!!!
    Ten dotyczy się zliczania powtarzających się wierszy!!!!!!