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

694

    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. Oletko tyytyväinen viime tapaamiseemme?

      Vai toivoitko sen menevän toisella tavalla? Miten?
      Ikävä
      72
      3053
    2. Nyt se sit loppuu

      Et ei enää nähdä ja yhteyttä pidetä.
      Ikävä
      55
      2705
    3. Kuoleman pelko katosi

      Olen pelännyt koko elämän ajan kuolemaa mutta yhtäkkiä kun hindut paljastivat totuuksia uskonnoista noin aloin yhtäkkiä
      Hindulaisuus
      432
      2315
    4. Viikonloppu terveiset kaivatulle

      tähän alas ⬇️⬇️⬇️
      Ikävä
      79
      2178
    5. Jos sitä keittelis teetä

      Ja miettis mitä mies siellä jossain touhuilee... ☕️
      Ikävä
      95
      1996
    6. Myötähäpeä kun näkee sut,

      tekisit jotain ittelles. Ihan hyvällä tämä!
      Ikävä
      52
      1875
    7. Huomenta ........

      Huomenta 💗 Tiedän, että tuntuisit hyvälle.
      Ikävä
      12
      1576
    8. Kuhmolainen on selvästi kepun lehti

      Kuhmolaise etukannessa oli Kuva kun Jaskalle annettiin karhu patsas.mutta kukmolaislehti oli niin kepulainen että Jaskan
      Kuhmo
      17
      1527
    9. Ei mun tunteet

      ole mihinkään kadonnut. Enkä mä sua inhoa tai ole kyllästynyt. Mä ymmärsin, ettet ole kiinnostunut minusta, ainakaan sil
      Ikävä
      30
      1370
    10. Mitä nämä palautteet palstalla ovat?

      Joku uusi toimintatapa rohkaista kirjoittajia vai mistä on kyse?
      Ikävä
      29
      1339
    Aihe