Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - tworzenie makra

miraj22 10 Mar 2009 19:56 18826 6
  • #1 10 Mar 2009 19:56
    miraj22
    Poziom 9  

    Proszę o pomoc w stworzeniu makra w Excelu. W załączniku plik który ma pomóc w kontrolowaniu magazynu. Założenie, że po naciśnięciu makra w arkuszu "Dispatch" w komórce A33, dane w arkuszu "Klient1" w kolumnie "G" zostaną odjęte od danych w kolumnie "A" i uaktualnione dane najlepiej wyświetlone w tej samej kolumnie "A", następnie dane w arkuszu "Dispatch" z zakresu komórek A5 do B30 zostaną skasowane. Z góry dzięki za pomoc.

    Zaznaczam jednak, że z Excelem mam zaledwie kilka tygodni do czynienia.

    0 6
  • Pomocny post
    #2 10 Mar 2009 20:59
    adamas_nt
    Moderator Programowanie

    Makra w module1 i w arkuszu: "Dispatch" przy zdarzeniu 'SelectionChange'. Ewentualnie można dodać przycisk...

    P.S. Dopuszczasz wartości ujemne w kolumnie A?

    Edit: 21:05 zmieniłem załącznik (pomyłka) :)

    0
  • #3 10 Mar 2009 22:46
    miraj22
    Poziom 9  

    Mogą być wartości ujemne

    Dodano po 1 [godziny] 18 [minuty]:

    Dzięki, działa po wstawieniu w mój plik. Jak dodać przycisk do tego makra??

    0
  • Pomocny post
    #4 11 Mar 2009 07:20
    adamas_nt
    Moderator Programowanie

    Excel 2003:
    (Nie mam zainstalowanego, mogę się mylić, proszę kolegów o ew. poprawkę. Chodzi o wstawienie przycisku ActiveX)

    W menu: 'widok' wybierz: 'paski narzędzi' i 'przybornik formantów'.
    Z przybornika wybierz: 'przycisk'.
    W okienku 'makra' wybierz makro o nazwie 'actualize' lub
    W edytorze VB, przy zdarzeniu 'NazwaPrzycisku_Click()' wpisz nazwę naszego makra:

    Code:
    Call actualize

    W widoku projekt (lub w edytorze VB) zmień napis (Caption) na przycisku.

    Excel 2007:
    W zakładce 'Developer' wybierz: 'Wstaw' > 'przycisk polecenia ActiveX'
    W trybie projektowania (włączy się automatycznie) w zakładce wybierz 'właściwości'. W kodzie przycisku wpisz: Call actualize. Po lewej stronie okna edytora VB, we właściwości 'Caption' - zmień napis.
    Wróć do arkusza i wyłącz tryb projektowania.

    Po sprawdzeniu działania przycisku możesz usunąć kod zdarzenia 'SelectionChange' w arkuszu "Dispatch", nie będzie już potrzebny.

    0
  • #5 12 Mar 2009 10:16
    miraj22
    Poziom 9  

    Dzięki. Jeszcze jedno i chyba ostatnie makro. W arkuszu "Goods INN" w komórce D5 makro które po naciśnięciu zaktualizuje (doda) ilość palet do arkusza "klient1" kolumny A z komórki A5 zgodnie z numer z komórki B5 według arkusza "klient1" kolumny B. Wielkie dzięki za pomoc.

    0
  • Pomocny post
    #6 12 Mar 2009 11:21
    marek003
    Poziom 40  

    Przepraszam że się wtrącam koledze adamas_nt'owi :)

    Przyznam że na podstawie makra podanego przez kolegę adamas_nt autor mógłby się pokusić o samodzielne stworzenie drugiego makra ale... dobry będę i dam w załączniku gotowca (Rozwiązań jest dużo ale jak zaznaczyłem makro jest podobne do wcześniejszego żeby było łatwiej zrozumieć - jeżeli oczywiście autor chce się pokusić o zrozumienie)

    W załączeniu przykład przy czym wykorzystałem tylko przycisk i podpiąłem makro. (Przycisk z paska narzędzi "formularze"). Pod komórką D5 nie wprowadzałem makra. Jeżeli ma być to pisz lub zrób to analogicznie jak w z pierwszym makrem, z tym że zamiast actualize wpisz palety i zmień odwołanie do komórki makra w "target" w funkcji jeżeli (IF) (Wpisz to w kodzie arkusza "Goods INN")

    Edit:
    przed chwilą (11.35) dodałem do informacji po wciśnieciu ok stan palet danego klienta (Po dodaniu)
    Oraz makro zeruje ilość palet w arkuszu po przeprowadzeniu dodawania (aby wyeliminować przypadkowe podwójne dodanie).

    Ewentualnie popraw opisy pod informacjami bo założyłem że kod to dany klient ale może kod to kod palety więc trzeba zmienić formę opisu.

    0
  • #7 12 Mar 2009 22:43
    miraj22
    Poziom 9  

    Wielkie dzięki za pomoc!!!

    0