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 2007 makro do drukowania

heyka 09 Paź 2018 15:20 357 30
  • #1 09 Paź 2018 15:20
    heyka
    Poziom 17  

    Potrzebuję zrobić proste makro do drukowania całego arkusza w Excelu. Chodzi mi o to że w Arkuszu 1 umieszczam przycisk do którego przypisuje makro. Po przyciśnięciu przycisku chciałbym aby wydrukował się cały Arkusz 2.
    Nie znam poleceń do tworzenia makr, a potrzebuję pomocy na szybko.
    Czy znacie strony www ( PL )do nauki tworzenia makr do Excela ?

    0 29
  • #2 09 Paź 2018 18:39
    Prot
    Poziom 30  

    heyka napisał:
    chciałbym aby wydrukował się cały Arkusz 2

    Co to wg Ciebie znaczy cały Arkusz czyżby wszystkie komórki w 1 048 576 wierszach i w 16 384 kolumnach :please: :?:

    Jeśli nie - nagraj sobie makro do określenia obszaru wydruku, sformatowania go i wydruku na odpowiedniej liczbie stron :idea:

    Bez przykładowego pliku trudno Ci doradzić jakie makro masz zastosować :cunning:

    0
  • #3 09 Paź 2018 18:44
    heyka
    Poziom 17  

    OK, byłem mało precyzyjny przy zadawaniu pytania. Dane z arkusza które chcę wydrukować mieszczą się na jednej stronie A4.

    0
  • #4 16 Paź 2018 13:00
    heyka
    Poziom 17  

    Excel 2007 makro do drukowania

    W excelu mam 3 arkusze formularz, oswiadczenie1, oswidczenie2, w formularzu którego zrzut dołączyłem mam przycisk i dwa pola wyboru.

    Jak napisać makro aby w zależności od zaznaczonego pola wyboru po wciśnięciu przycisku drukował się jeden lub drugi lub oba formularze.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Powyższą procedurą drukuję formularz oswiadczenie1, jak uzależnić jego wydruk od zaznaczonego pola wyboru?

    Dodano po 43 [minuty]:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Zrobiłem coś takiego ale nie działa, tzn czy okienko jest zaznaczone czy nie to nie drukuje.

    0
  • #5 16 Paź 2018 18:20
    clubs
    Poziom 31  

    heyka napisał:
    Zrobiłem coś takiego ale nie działa, tzn czy okienko jest zaznaczone czy nie to nie drukuje.

    Pytanie jaki format tego "czekboksa" wstawiłeś formularza czy activex?

    0
  • #7 16 Paź 2018 20:44
    heyka
    Poziom 17  

    Wstawiłem CheckBox z zakładki Formanty ActiveX

    Dodano po 4 [minuty]:

    Co to znaczy podlinkowanie do sąsiednich komórek?

    0
  • #8 16 Paź 2018 21:07
    clubs
    Poziom 31  

    Rozumiem że kod przycisku masz w module? Wtedy np. Arkusz1.CheckBox1

    0
  • #10 16 Paź 2018 21:24
    clubs
    Poziom 31  

    Tak jak pisałem (u ciebie pomijam że masz literówkę zobacz jak się pisze "czekboks")
    tak

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    lub
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #11 16 Paź 2018 21:29
    heyka
    Poziom 17  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod



    Poszło w ten sposób.

    Jeszce tylko jedno drukuję formularz tak jak to widać w kodzie u góry, a więc uaktywniam formularz do drukowania, drukuję, i powracam do formularza z przyciskami, jakiego polecenia użyć aby drukowało formularz bez jego aktywowania, tzn wciskam przycisk i drukuje formularz.

    0
  • Pomocny post
    #12 16 Paź 2018 21:33
    clubs
    Poziom 31  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #13 16 Paź 2018 22:01
    heyka
    Poziom 17  

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Nie chce się kompilować, pisze że Metoda PrintOut z klasy workshet nie powiodła się

    Dodano po 8 [minuty]:

    Jest w necie jakiś kurs VBA po polsku, taki żeby poczytać o tych podstawowych poleceniach typu Sheets i innych?

    0
  • #15 16 Paź 2018 22:24
    heyka
    Poziom 17  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    To drukuje cały formularz, a gdybym chciał drukować tylko część tego formularza zawartą pomiędzy jakimiś adresami komórek to co należy dołożyć?

    Dodano po 1 [minuty]:

    Jakie strony lub książki polecacie do zgłębiania VBA?

    Dodano po 4 [minuty]:

    Prot napisał:
    heyka napisał:
    Metoda PrintOut z klasy workshet nie powiodła się

    Uruchamiasz makro z aktywnego arkusza "formularz" :!: a drukujesz inny arkusz "oswiadczenie" :idea:
    Twój wcześniejszy kod jest jednoznaczny :D tj. ActiveWindow.SelectedSheets



    Kod jest jednoznaczny ale do tego potrzeba trochę wiedzy, a ja dopiero raczkuję.

    0
  • #16 16 Paź 2018 22:45
    Prot
    Poziom 30  

    heyka napisał:
    do tego potrzeba trochę wiedzy, a ja dopiero raczkuję.

    Do nauki VBA propaguję system jak "przy nauce pływania poprzez wrzucenie na głęboką wodę" :D w Excelu i VBA zawsze masz najlepszą pomoc w swoim komputerze pod klawiszem F1 :spoko:
    Na poważnie to poszukaj na naszym forum kolega Lanzul publikował całą bibliografię VBA dla początkujących :idea:

    0
  • #17 17 Paź 2018 12:30
    heyka
    Poziom 17  

    Dzięki za porady, były bardzo przydatne.

    Mam jeszcze dwa pytania:

    - jak drukować za pomocą VBA zakres komórek z danego formularza?
    - w jaki sposób połączyć CheckBox z komórką, chodzi mi o to , że jak jest zaznaczony to w danej komórce wpisuje 1 a jak jest odznaczony t wpisuje 0

    0
  • #18 17 Paź 2018 13:59
    Prot
    Poziom 30  

    heyka napisał:
    jak drukować za pomocą VBA zakres komórek z danego formularza?

    To teraz chcesz drukować ten arkusz "formularz" :?: :D

    Zawsze przy wydruku możesz wykorzystać ustawienie "obszar wydruku" np.
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    i po zaktywizowaniu właściwego arkusza uruchamiasz wydruk PrintString (tj obszar wydruku w tym arkuszu) :D

    Cytat:
    w jaki sposób połączyć CheckBox z komórką


    Poprzez linkowanie :spoko:
    Excel 2007 makro do drukowaniachbox.PNG Download (38.03 kB)

    0
  • #19 17 Paź 2018 14:18
    heyka
    Poziom 17  

    Nie kumam tego podłączenia, chodzi mi o to, że jak zaznaczę CheckBox to chcę aby w pewnej komórce np A1 wpisywał mi się jakiś tekst, a jak checkBox nie jest zaznaczony to żeby w tej komórce wpisywał się inny tekst.

    Co do drukowania to chodzi mi o to że chcę wydrukować oświadczenie stworzone w formularzu 3 które w zależności od zaznaczonego CheckBox będzie albo dłuższe albo krótsze i dlatego pytałem o wydruk zakresu komórek.

    Im więcej się dowiaduję tym ciekawsze pomysły mi przychodzą mi do głowy na wykorzystanie VBA ale do tego potrzebna jest coraz to nowa wiedza. Musze poszukać książki do nauki.

    Bardzo dziękuję za pomoc.

    0
  • Pomocny post
    #20 17 Paź 2018 14:35
    Prot
    Poziom 30  

    heyka napisał:
    Nie kumam tego podłączenia

    Toż to proste jak świński ogon :D
    Zaznaczasz swego Checkboxa (w trybie projektowania), klikasz we wstążce właściwości i w otwartej tabelce we wierszu LinkedCell wpisujesz adres bezwzględny komórki, gdzie będziesz miał wskazania stanu tego Checkboxa (PRAWDA|FAŁSZ) :please:

    0
  • #21 19 Paź 2018 11:25
    heyka
    Poziom 17  

    Prot napisał:
    Zaznaczasz swego Checkboxa (w trybie projektowania), klikasz we wstążce właściwości i w otwartej tabelce we wierszu LinkedCell wpisujesz adres bezwzględny komórki, gdzie będziesz miał wskazania stanu tego Checkboxa (PRAWDA|FAŁSZ)


    No faktycznie proste, ale ja bym sobie marzył aby w komórce nie był wyświetlany Prawda/Fałsz, a teksty które sam bym wpisał.

    0
  • #22 19 Paź 2018 19:25
    clubs
    Poziom 31  

    heyka napisał:
    a teksty które sam bym wpisał.

    A gdzie chcesz go wpisywać? Jak w kodzie to coś ala
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #23 22 Paź 2018 12:42
    heyka
    Poziom 17  

    Wszystko działa tak jak sobie wymarzyłem, dzięki koledzy za pomoc.

    Jeszcze jedno mam tabelę z danymi odbiorców
    Nazawa nip adres coś tam coś tam

    dane odbiorcy z tabeli są przenoszone do innych dokumentów za pomocą poniższej funkcji, dla każdego pola

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    w moim przypadku po nipie. Musze więc w bazie odnaleźć odbiorcę ustawić się na komórce zawierającej jego nip i przenieść dane.

    Czy istnieje możliwość aby dane odbiorcy przenosiły się ale w ten sposób że ustawię się na której kolwiek z kolumn ( nie koniecznie na nipie )w wierszu z danymi odbiorcy?

    0
  • #24 26 Paź 2018 12:00
    heyka
    Poziom 17  

    Czy jest jakieś polecenie zwracające nr aktywnego wiersza?

    W typie

    Range(ActiveCell.Address).Select

    0
  • #25 26 Paź 2018 12:10
    PRL
    Poziom 34  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #26 26 Paź 2018 12:17
    heyka
    Poziom 17  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod



    Wynalazłem coś takiego ale coś jest źle.

    0
  • #27 26 Paź 2018 12:28
    PRL
    Poziom 34  

    Źle odczytałem Twoje pytanie i podałem obiekt zwracający indeks aktywnego arkusza, a nie wiersza.
    Powinno być, tak jak napisałeś

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    A co chcesz z tym zrobić, że Ci nie działa?

    0
  • #28 26 Paź 2018 14:08
    heyka
    Poziom 17  

    Chcę zrobić coś takiego: jestem w wierszu powiedzmy 4 obojętnie w której kolumnie i chcę po naciśnięciu przycisku aby kopiowało mi zawartość komórki o adresie kolumna F i zaznaczony wiersz ( w tym przypadku F4) do innej komórki.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    kombinuję jak skleić adres z wiersza i kolumny ale coś mi nie idzie.

    Dodano po 13 [minuty]:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    To wyrażeni chce złożyć ze stałej kolumny i wiersza który jest w danej chwili aktywny.

    Dodano po 2 [minuty]:

    Błąd jest w tym zapisie

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Dodano po 40 [minuty]:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Tak to powinno być :)

    0
  • #29 26 Paź 2018 14:30
    PRL
    Poziom 34  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Nie zadziała, ale

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    zadziała, pod warunkiem, że Adres, to zmienna tekstowa, zawierająca adres komórki/zakresu.

    Zamiast tylu wierszy, wystarczy:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #30 26 Paź 2018 14:37
    heyka
    Poziom 17  

    A w jaki sposób za pomocą VBA przekopiować zawartość komórki z jednego formularza do drugiego?

    0