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

Excel VBA - Kopiowanie "nagłówków" kolumny i wiersza aktywnej komórk

16 Lut 2014 02:25 2052 2
  • Poziom 8  
    Cześć,
    Jestem początkujący w VBA, ale porwałem się, by przygotować skoroszyt obsługujący raporty kasowe i druk KP w szkole muzycznej.
    W załączonym pliku nie wiem jak napisać taki skrytp:
    W arkuszu "dane" wpisuję kwotę, którą za dany miesiąc wpłacił uczeń np. w komórce J8, i pozostawiam tę komórkę zaznaczoną. Uruchamiam makro, które przykleja do odpowiednich pól (czerwona czcionka) w arkuszu "KP" następujące informacje z arkusza "dane":
    - wartość aktywnej komórki (właśnie wpisana kwota w J8),
    - miesiąc (J5 - nagłówek kolumny)
    - imię i nazwisko (C8 i D8 - "nagłówki" wiersza),
    - rodzaj kursu (B8 - kolejny "nagłówek" wiersza).

    Dalszy bieg wydarzeń, czyli wydruk i raportowanie udało mi się już samemu napisać.
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Drugie pytanie: czy da się zrobić coś takiego, by "KP" automatycznie się numerowały w komórce "I4" według zasady ??/miesiąc/rok, gdzie "??" to chronologiczny numer kolejnego dokumentu w aktualnym miesiącu? Wyobrażam sobie, że skrypt mógłby zliczać ile wpisów w aktualnym miesiącu już się pojawiło w zapisach historycznych arkusza "raport" i tą wartość wklejać w miejsce "??".
  • Moderator - Komputery Serwis
    Witaj,
    Takie makro może zrobić chyba to, o co Ci chodzi z przepisywaniem danych do KP:
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    X0 i Y0 to pierwsza kolumna i pierwszy wiersz tabeli z danymi (przesunięcie).
    Jeśli chodzi o numerację możesz uczynić tak jak piszesz, albo możesz po prostu napisać makro, które przy wykonywaniu operacji przepisywania danych do KP przeczyta bieżący numer (czyli numer ostatnio wystawionego KP), doda jeden do numeru przed pierwszym ukośnikiem i wpisze nowy numer do arkusza. O ile w arkuszu raport wpis dokonuje się tylko przy kliknięciu "drukuj" - metoda z e zliczaniem linijek z raportu wydaje się być lepsza.
  • Poziom 8  
    dt1 ogromne dzięki za pomoc - wszystko śmiga doskonale!
    Co do KP, to chciałem, by "??" numerowały się od 1 w każdym miesiącu, ale już sobie z tym poradziłem za pomocą funkcji "=LICZ.WARUNKI".
    Dzięki raz jeszcze i pozdrawiam!