logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

VBA - Excell: Mini program (Dodaj, szukaj, wyczyść..)

Anokecaj 26 Sty 2021 22:11 543 4
REKLAMA
  • #1 19212516
    Anokecaj
    Poziom 5  
    Posty: 7
    Ocena: 1
    Hej, kochani.
    Zwracam się o pomoc z makrami, które opiszę zaraz poniżej. Kilka dni temu postanowiłem zrobić sobie program, który nieco ułatwiłby mi pracę. Uczę się VBA od zera i o ile z początku fajnie łapałem i po kilku-kilkunastu próbach drobne problemy rozwiązywałem, tak teraz zaczęły się schody.
    Makra, w dalszym ciągu są banalnie proste, lecz zagmatwałem się stąd prośba o pomoc.

    Plik z excellem oczywiście dołączam i bardzo proszę o pomoc z poniższymi pytaniami.
    Z założenia; do tabeli wklepuje numery produktów od 211111 do 360000 i umieszczam je w przypisanych im na regałach lokacjach np. "A2, A34".

    A teraz już konkretniej:
    1. Makro do szukaj: Pokazuje mi jedynie pierwszą znalezioną pozycję. Jeżeli dany numer występuje w arkuszu kilka razy, nie wskazuje wszystkich. Jak to zmienić?
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    1a. Z czego skorzystać, by np. wyświetlić/wygenerować gdzieś wykaz znalezionych numerów? (Przykładowo prosta lista "Detal 234567 jest w lokacjach A3,A5 i A48")
    2. Makro do dodaj: Wkleja wskazany numer, lecz mam wrażenie że losowo. Wskaże by umieścić detal w lokacji A1, a on wkleja się w A2 +A4 itp.
    Nie wkleja też często do kolejnej wolnej komórki w kolumnie, lecz nadpisuje pierwszą już zapełnioną. Co jest nie tak?
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    2a. Numery, które szukam/dodaje zawsze są 6cyfrowe. Jak można zabezpieczyć program, by nie przyjmował numerów krótszych/dłuższych? Tu chciałbym się zabezpieczyć, że jeśli zamiast 222222 przypadkiem wpisze 22222 program mnie poinformuje, że nie znalazł pozycji, bo źle wpisałem numer.

    Wiem, że kod daleki jest od poprawności, więc proszę o wyrozumiałość. Nauka vba jest przyjemna, lecz boje się, że dotarłem do pierwszej większej ściany i nie chciałbym się zniechęcić.
    Makra na usuwanie nie działają, ale na razie nie pytam o nie, bo wydaje mi się, że z nimi uda mi coś samemu wykombinować.
    Załączniki:
    • produkty.xlsx (13.92 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 19213118
    adirks
    Poziom 6  
    Posty: 15
    Pomógł: 1
    Ocena: 5
    Plik który dodałeś nie działa poprawnie. makra się nie chcą włączyć a dodatkowo makro chce otwierać plik "Regał" którego nie dołączyłeś.
  • REKLAMA
  • #3 19214539
    Anokecaj
    Poziom 5  
    Posty: 7
    Ocena: 1
    Przepraszam, faktycznie. Tym razem powinno być już bez łącz, coś musiałem namieszać. Linkuje excella oraz spakowanego excella z obsługą makr. Swoją drogą dziwne, że z obsługą makr nie można dołączać plików.
    Załączniki:
    • produkty_makra.xlsx (12.99 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • produkty_makra.7z (19.3 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #4 19271220
    Anokecaj
    Poziom 5  
    Posty: 7
    Ocena: 1
    Nieśmiało odświeżam, może ktoś będzie w stanie pomóc w choć jednym z podpunktów.
  • #5 19271877
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    Anokecaj napisał:
    może ktoś będzie w stanie pomóc

    Spróbuj "pomóc sobie sam" :D
    W Twoim pliku xlsm spróbuj nagrać dodatkowe makra, które będą rejestrować cały pełny cykl poszczególnych działań (szukanie, dodawanie itp). Jak zaczniesz je analizować to powinieneś dostrzec zasadniczą różnicę :idea: Makra będą cały czas przerzucały aktywność pomiędzy poszczególnymi plikami i arkuszami.
    Musisz nauczyć się panować nad wszystkimi operacjami realizowanymi przez makro :!: gdzie jest textbox, gdzie jest tabela, w jakim zakresie realizowane jest przeszukiwanie itd.
REKLAMA