Tulostus makrolla

Pasi

Missähän mahtaa olla vika kun yritän tulostaa Excel-taulukkoa alla olevalla koodilla. Esikatselu avautuu hyvin ja painike "Tulosta..." on aktiivinen mutta kun sitä klikkaa niin tulostus lähtee heti oletustulostimelle eikä tulostusdialogi avaudu ollenkaan. En siis voi vaihtaa tulostinta, muuttaa tulostettavien sivujen määrää tms. Kun esikatselun aloittaa Exelin omalla painikkeella, kaikki toimii?

Sub EsikatseleJaTulosta()

Dim Viimeinenrivi As String
Application.ScreenUpdating = False
Viimeinenrivi = Range("B65536").End(xlUp).Row
Range(Cells(2, 2), Cells(Viimeinenrivi 1, 11)).Select
ActiveWindow.Selection.PrintPreview
Range("A1").Select
Application.ScreenUpdating = True

End Sub

7

675

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • viimeinenrivi palauttaa lukuarvon eikä tekstiä
      muutin sen kanssa

      Sub EsikatsaTulosta()
      Dim Viimeinenrivi As Integer
      Application.ScreenUpdating = False
      Viimeinenrivi = Range("B65536").End(xlUp).Row
      Range(Cells(2, 2), Cells(Viimeinenrivi 1, 11)).Select
      ActiveSheet.PrintPreview
      Range("A1").Select
      Application.ScreenUpdating = True

      End Sub

      • Nimetön

        mutta jääkö tuo tulostettavan alueen valinta nyt tarpeettomaksi?

        Jossakin ohjelmassa missä minulla oli vastaava tulostusmakro, niin ennen kuin tulostettavan alueen valinta oli koodissa mukana niin Excel halusi välttämättä tulostaa tuhatkunta tyhjää sivua vaikka tulostettavaa olisi ollut vain ensimmäiselle sivulle. Tässä nyt työn alla olevassa ohjelmassa vastaavaa ei tapahdu vaikka aluetta ei valittaisikaan. Nyt käytän Excel-97:aa ja aiemmassa ohjelmassa käytössä oli Excel 2002.

        -Pasi-


      • Nimetön kirjoitti:

        mutta jääkö tuo tulostettavan alueen valinta nyt tarpeettomaksi?

        Jossakin ohjelmassa missä minulla oli vastaava tulostusmakro, niin ennen kuin tulostettavan alueen valinta oli koodissa mukana niin Excel halusi välttämättä tulostaa tuhatkunta tyhjää sivua vaikka tulostettavaa olisi ollut vain ensimmäiselle sivulle. Tässä nyt työn alla olevassa ohjelmassa vastaavaa ei tapahdu vaikka aluetta ei valittaisikaan. Nyt käytän Excel-97:aa ja aiemmassa ohjelmassa käytössä oli Excel 2002.

        -Pasi-

        määritellään tulostusalue, jolloin ei tulosteta muuta kuin se alue.Tietenkin pitää pitää huolta, että mahtuu yhdelle sivulle

        Sub EsikatsaTulosta()
        Dim Viimeinenrivi As Integer
        Application.ScreenUpdating = False
        Viimeinenrivi = Range("B65536").End(xlUp).Row

        ActiveSheet.PageSetup.PrintArea = "B2:K" & Viimeinenrivi
        ActiveSheet.PrintPreview
        Range("A1").Select
        Application.ScreenUpdating = True
        End Sub


      • Nimetön
        kunde kirjoitti:

        määritellään tulostusalue, jolloin ei tulosteta muuta kuin se alue.Tietenkin pitää pitää huolta, että mahtuu yhdelle sivulle

        Sub EsikatsaTulosta()
        Dim Viimeinenrivi As Integer
        Application.ScreenUpdating = False
        Viimeinenrivi = Range("B65536").End(xlUp).Row

        ActiveSheet.PageSetup.PrintArea = "B2:K" & Viimeinenrivi
        ActiveSheet.PrintPreview
        Range("A1").Select
        Application.ScreenUpdating = True
        End Sub

        tuolla tavallahan se onnistuu tottakai. Kiitos

        -Pasi-


      • Pasi
        kunde kirjoitti:

        määritellään tulostusalue, jolloin ei tulosteta muuta kuin se alue.Tietenkin pitää pitää huolta, että mahtuu yhdelle sivulle

        Sub EsikatsaTulosta()
        Dim Viimeinenrivi As Integer
        Application.ScreenUpdating = False
        Viimeinenrivi = Range("B65536").End(xlUp).Row

        ActiveSheet.PageSetup.PrintArea = "B2:K" & Viimeinenrivi
        ActiveSheet.PrintPreview
        Range("A1").Select
        Application.ScreenUpdating = True
        End Sub

        Sub EsikatseleJaTulosta()

        Dim Viimeinenrivi As Integer
        Application.ScreenUpdating = False
        Viimeinenrivi = Range("B65536").End(xlUp).Row
        ActiveSheet.PageSetup.PrintArea = "B2:K" & Viimeinenrivi 1
        Application.ScreenUpdating = True
        ActiveSheet.PrintPreview
        ActiveSheet.PageSetup.PrintArea = ""
        Range("A1").Select

        End Sub


      • Pasi kirjoitti:

        Sub EsikatseleJaTulosta()

        Dim Viimeinenrivi As Integer
        Application.ScreenUpdating = False
        Viimeinenrivi = Range("B65536").End(xlUp).Row
        ActiveSheet.PageSetup.PrintArea = "B2:K" & Viimeinenrivi 1
        Application.ScreenUpdating = True
        ActiveSheet.PrintPreview
        ActiveSheet.PageSetup.PrintArea = ""
        Range("A1").Select

        End Sub

        jos haluat estää muotoilemasta asetuksia esikatselussa niin lisää FALSE esikatselu komennon perään
        ActiveSheet.PrintPreview False

        Tulostusalueen valinnan poisto oli ihan Ok lisäys. ;-)


      • Nimetön
        kunde kirjoitti:

        jos haluat estää muotoilemasta asetuksia esikatselussa niin lisää FALSE esikatselu komennon perään
        ActiveSheet.PrintPreview False

        Tulostusalueen valinnan poisto oli ihan Ok lisäys. ;-)

        käytännöllinen vinkki, pistän korvan taakse. (Tai itse asiassa kirjoitin koodiin kommentiksi..)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuvat! Dannyyn liitetty Helmi Loukasmäki, 22, on puhjennut naisena kukkaan - Some sekoaa: "Sä..."

      Ooo, kaunis aikuinen nainen Helmistä on kasvanut siinä yli 80-vuotiaan Dannyn rinnalla! Katso uudet kuvat: https://ww
      Suomalaiset julkkikset
      47
      3165
    2. Henkirikos Alakylässä

      Nainen löydetty elottomana, mies otettu kiinni. Mitä on tapahtunut?
      Seinäjoki
      47
      2381
    3. Suodatinpussin kastelemalla saa parempaa kahvia

      Kokeilin niksiä ja kyllä tämä kahvi on parempaa nyt. Ei lainkaan maistu paperiselta. Huljuttelee hanan alla suppiloa pap
      Maailman menoa
      125
      1730
    4. Tidätkö nainen

      että suoraan sanottuna v.tut.aa että pääsit näin lähelle minua. Ei olisi oikeasti aikaa tähän mutta silti aina välillä o
      Ikävä
      100
      1573
    5. Onkohan sinulla kaikki hyvin?

      Nyt vähän sellainen outo tunne tuli. Sinun asiasi niin ei minulle toki tarvitse kertoa. Kunhan mietin...
      Ikävä
      38
      1087
    6. Viimeinen reissu tälle kesälle

      Pian se syksy on. Hyvää huomenta ja aurinkoista päivää. ☕🌞🍁🌻🐺❤️
      Ikävä
      169
      954
    7. Mikä on kaivattusi etunimi?

      Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.
      Ikävä
      44
      921
    8. Huikeeta, mahtavaa, ihan mielettömän upeeta

      Me ostettiin talo Espanjasta. Tosin saadaan käyttää sitä vain muutama viikko vuodessa kun on monta muutakin ostajaa! M
      Kotimaiset julkkisjuorut
      175
      866
    9. En kestä katsoa

      Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois
      Ikävä
      71
      811
    10. Oho! Arja Koriseva paljastaa TTK:n ekasta suorasta lähetyksestä: "On vähän ärsyttävä yhtälö!"

      Upea Arja Koriseva! Tsemppiä haasteelliseen tilanteeseen! Lue lisää: https://www.suomi24.fi/viihde/oho-arja-koriseva-
      Suomalaiset julkkikset
      14
      784
    Aihe