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

734

    Vastaukset 7

    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. Riikka Purra on mukana Suomen huutokauppakeisari -sarjassa

      Suomen huutokauppakeisari on tavallisten suomalaisten ohjelma. Sarjan suosiosta kertoo se, että nyt alkaa jo 19. kausi t
      Maailman menoa
      93
      1153
    2. Paljonko on etäisyytesi kiinnostavaan naiseen km?

      Kaipailen tärkeää miestä ja pohdin hänen ajatuksiaan... ❤️
      Ikävä
      83
      893
    3. Kuuleppas

      ensimmäiset naissuhteet toimii miehelle eräänlaisena oppikouluna, mutta hän ei välttämättä itse ymmärrä oppineensa mitää
      Ikävä
      237
      880
    4. Mitä näät

      Siinä miehessä?
      Ikävä
      54
      734
    5. On meillä harvinaisen törkeä valtuuston puheenjohtaja

      Ja tyhmä! Kannattaisi googlettaa "julkisuuslaki" ja nojata siihen vasta sitten. Samalla voisi googlettaa muiden kuntien
      Kemijärvi
      75
      717
    6. Olet mieleni päällä edelleen, J

      En voi sille mitään. Ja olen yrittänyt voida, monen monta kertaa. Miten jäinkin näin kiinni sinuun... 😞
      Ikävä
      34
      632
    7. Olet aika julma minua kohtaan

      Antaisit vähän armoa.
      Ikävä
      58
      609
    8. Olisitko valmis

      Siihen?
      Ikävä
      41
      580
    9. Mikko Leppilampi loi TTK:ssa ankaran tavan - Jatkaako Veronica Verho haastavaa perinnettä?

      Suorien lähetysten juontaminen vaatii rautaista ammattitaitoa ja kovaa työtä. Tanssii Tähtien Kanssa -ohjelmassa on näh
      Kotimaiset julkkisjuorut
      29
      557
    10. Oletko miettinyt

      Mikä minusta tekee sinulle niin erityisen? Onko se samanlaiset lapsuusmaisemat? Työpaikan liian pitkät katseet? Selvittä
      Ikävä
      30
      555
    Aihe