Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[makro] Excel drukowanie - potrzebuję pomocy

Gural 08 Dec 2009 08:47 5906 3
  • #1
    Gural
    Level 11  
    Witam,
    serdecznie poszukuje pomocy odnośnie wykonanie Makra, które by czytało dane z tabeli, wstawiało dokładnie jedna dana w dokładnie jedno miejsce oraz drukowało tak przygotowany arkusz oraz numerowało strony od 1 .
    Chodzi o to by Makro wzięło z tabeli z pierwszego wiersza 3 dane, z każdej kolumny inna
    wstawiło do następnego arkusza oraz wydrukowało z nr 1, później wzięło dane z drugiego wiersza trzech kolumn przeniosło do drugiego arkusza i wydrukowało z numerem 2

    Czy ma ktoś pomysł jak to wykonać ?
  • #2
    ekomont
    Level 16  
    Witam. Owszem jest to do zrobienia...mało z tego całkiem prosto :D...

    Zacząć nalezy od makra, które tworzy nowy arkusz...nastepnie wklejane są dane i numer...nastepnie wydruk arkusza o numerze [ilosc arkuszy]...nastepnie zamkniecie arkusza o tym samym numerze...

    a wszystko w pętli aż do natrafienia na pusty wiersz - bez danych
  • #3
    walek33
    Level 29  
    Żeby nie rozpisywać się za bardzo powiem, że dla początkujących niezastąpiony jest rejestrator makr. Wystarczy wybrać z menu rejestrowanie, wykonać wszystkie czynności zgodnie z opisem i zapisać. Potem takie zapisane makro można (metodą prób i błędów) dostosować do własnych potrzeb.
  • #4
    wojtekcz
    Level 13  
    Tak na szybko spróbuj :
    Sub Makro1()
    
    arkuszdane = InputBox("podaj nazwę arkusza z danymi")
    kol = CInt(InputBox("Podaj kolumne z danymi"))
    wier = CInt(InputBox("Podaj pierwszy wiersz z danymi"))
    ile = CInt(InputBox("Podaj ile jest wierszy z danymi"))
    adres = InputBox("Podaj adres komórki gdzie wstawić dane")
    arkuszdruk = InputBox("podaj nazwę arkusza do druku")
    nr = CInt(InputBox("podaj nr pierwszej strony"))
    adreskom = "'" & adres & "'"
    Sheets(arkuszdane).Select
    
    For w = wier To wier + ile
    dane = Cells(w, kol)
    Sheets(arkuszdruk).Select
    Range(adreskom) = dane
    
    
        With ActiveSheet.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        End With
        ActiveSheet.PageSetup.PrintArea = ""
        With ActiveSheet.PageSetup
    
            .RightHeader = nr
        End With
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        nr = nr + 1
    Next w
    End Sub
    


    Trzeba by oczywiście podeklarować zmienne i trochę przerobić dodać dane2 i dane3 oraz podać adres2 i adres3 albo wpisać te wartości na sztywno.

    Proszę używać znaczników code. - arnoldziq