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][VBA] - PROSTE MAKRO DO KOPIOWANIA KOMÓREK

solimarcin 01 Maj 2017 14:53 936 3
  • #1 01 Maj 2017 14:53
    solimarcin
    Poziom 2  

    Witam
    Jestem totalnie zielony w temacie, a potrzebuję stworzyć sobie makro, które pozwoli na kopiowanie komórek o odpowiednią ilość wierszy - otóż mam gotowy plik z dużą bazą danych, do której kilka razy w tygodniu doklejam kolejne wiersze. W osobnym arkuszu mam utworzoną, przygotowaną do druku kartę (2 kolumny po 19 wierszy), do której podczytane są wartości z bazy danych w ten sposób że kolumnę A tworzą nagłówki tabeli z bazy danych zblokowane $ (one się nie zmieniają) a w kolumnie B odpowiednie wartości z BD czyli kolejno od początku dla $A$1 B2; dla $A$2 C2; dla $A$3 D2 itd. Dotychczas chcąc wydrukować każdą kolejną kartę z danymi zmieniałem po prostu ręcznie wartości czyli dla w/w przykładu z B2 na B3; z C2 na C3; z D2 na D3 itd. przez 19 wierszy, następnie wydruk i od nowa.
    Potrzebuję więc usprawnić ten proces bo dziennie mam np. do wydrukowania 80 takich kart x 19 wierszy co daje ponad 1500 zmian ręcznych. Chcę najlepiej kliknięciem zmienić wszystkie wartości w kolumnie B, na takie które są o jedną niżej w bazie danych w stosunku do aktualnie wpisanych.

    Względnie mógłby to być skrót klawiaturowy który zastąpi istniejącą w danej komórce wartość na kolejną (poniższą) z arkusza bazy danych, standardowe ctrl +d, ctrl+r nie mają tutaj zastosowania.

    Innym pomysłem mogłoby być również tworzenie kolejnej strony wydruku dla każdej kolejnej karty próbowałem tego oczywiście tyle że standardowe kopiowanie 19 wierszy powoduje że wartość która była w komórce B1 czyli np. G4 z arkusza bazy danych zostaje zastąpiona tym co jest w arkuszu bazy danych 19 wierszy dalej czyli G23, a ja w tym miejscu potrzebuję wartości z G5 czyli kolejnej. Może zamiast makra jest jakaś prosta funkcja której nie znalazłem, a która pozwoliłaby na kopiowanie 19 wierszy na raz przesuwając wartości z BD o 1 wiersz w dół.

    Starałem się wytłumaczyć o co chodzi najprościej jak potrafię.

    0 3
  • Pomocny post
    #2 01 Maj 2017 16:28
    JRV
    Specjalista - VBA, Excel

    solimarcin napisał:
    początku dla $A$1 B2

    z obrazka ELEKTRODA.jpg wynika, ze dla $A$1 C2
    Poniewaz nie ma zalacznika, patrz przyklad(karta i baza w jednom skoroszycie)
    Wiersz dla druku - wartosc w C1(za ramami PrintArea)
    B1:B19 - funkcja tablicowa Ctrl+Shift+Enter

    0
  • #3 01 Maj 2017 17:00
    solimarcin
    Poziom 2  

    JRV napisał:
    solimarcin napisał:
    początku dla $A$1 B2

    z obrazka ELEKTRODA.jpg wynika, ze dla $A$1 C2
    Poniewaz nie ma zalacznika, patrz przyklad(karta i baza w jednom skoroszycie)
    Wiersz dla druku - wartosc w C1(za ramami PrintArea)
    B1:B19 - funkcja tablicowa Ctrl+Shift+Enter



    O to chodziło, do moich potrzeb wystarczy, baza danych składa się z 48 kolumn a wierszy przybywa - z tego do druku potrzebuję 19 w dodatku nie ułożonych po kolei, ale dam sobie już radę, uprzejmie dziękuję

    0
  • Pomocny post
    #4 01 Maj 2017 17:05
    JRV
    Specjalista - VBA, Excel

    solimarcin napisał:
    nie ułożonych po kolei

    Wtedy uzyj =INDEKS(kolumna_bazy; C1)

    0