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

710

    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. Mitä aiot tehdä uudenvuoden aattona

      Mitä olet suunnitellut tekeväsi uudenvuoden aattona ja aiotko ensi vuonna tehdä jotain muutoksia tai uudenvuoden lupauks
      Sinkut
      152
      3406
    2. Marin sitä, Marin tätä, yhyy yhyy, persut jaksaa vollottaa

      On nuo persut kyllä surkeaa porukkaa. Edelleen itkevät jonkun Marinin perään, vaikka itse ovat tuhonneet Suomen kansan t
      Maailman menoa
      51
      2389
    3. Muistattekos kuinka persujen Salainen Akentti kävi Putinin leirillä

      Hakemassa jamesbondimaista vakoiluoppia paikan päällä Venäjällä? Siitä ei edes Suomea suojeleva viranomainen saanut puhu
      Maailman menoa
      12
      1194
    4. Mitäköhän vuosi

      2026 tuo tullessaan?
      Ikävä
      112
      1169
    5. Väestönsiirtoa itään?

      Ano "the Russo" Turtiainen sai poliittisen turvapaikan Venäjältä. Pian lähtee varmaan Nazima Nuzima ja Kiljusen väki per
      Helsinki
      48
      937
    6. Ikävä sinua..

      Kauan on aikaa kulunut ja asioita tapahtunut. Mutta sinä M-ies olet edelleen vain mielessäni. En tiedä loinko sinusta va
      Ikävä
      9
      913
    7. Vuoden luetuimmat: Mikä on Pelle Miljoonan taiteilijaeläkkeen suuruus?

      Pelle Miljoonan eläkkeen suuruus kiinnosti lukijoita tänä vuonna. Artikkeli on Suomi24 Viihteen luetuimpia juttuja v. 20
      Suomalaiset julkkikset
      19
      870
    8. Kuumalle kaivatulle tiedoksi

      Tykkään susta!
      Ikävä
      46
      864
    9. Nyt musta tuntuu

      Et alat päästämään kokonaan irti..
      Ikävä
      36
      692
    10. Riikka Purra sanoo, että sietokykyni vittumaisiin ihmisiin alkaa olla lopussa.

      https://www.iltalehti.fi/politiikka/a/be8f784d-fa24-44d6-b59a-b9b83b629b28 Riikka Purra sanoo medialle suorat sanat vitt
      Maailman menoa
      196
      666
    Aihe