Tulostus excelistä helpoksi?

tusaaja

Tarkoituksenani oli luoda exceliin nappi, jota painamalla avautuu ikkuna, missä kysytään mitkä sheetit halutaan tulostettavaksi (ja esikatseltavaksi). Tulostettavien sheettien valinta tapahtuisi CheckBoxien avulla, jotka ilmaisisivat tulostuvat sheetit.

Oman kokemattomuutteni takia en osaa rakentaa koodia, jonka avulla pystyisin esikatselemaan ja tulostamaan vain valittuja sheettejä.

Ongelma on lähinnä se, että en osaa tehdä koodia, joka suorittaisi sheettien valinnan/tsekkauksen, jonka jälkeen annettaisiin vain tarvittavat tulostus/esikatselu -käskyt.

Osaako joku auttaa?

2

502

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Kunde

      taulukkoon nappi ja siihen koodi

      Private Sub CommandButton1_Click()
      UserForm1.Show modal
      End Sub

      ja napin ominaisuuksiisa ruksi pois kohdasta tulosta objekti.
      lisää lomake ja lisää sinne 3 commandbuttonia ja 1 listbox oletusnimillä. Listbox1 muuta multiselect arvo ->1
      ja lisää lomakkeelle suraavat koodit

      Private Sub CommandButton1_Click()
      Dim Lista() As String
      Dim i As Integer
      Dim Laskuri As Long
      For Laskuri = 1 To ListBox1.ListCount
      If ListBox1.Selected(Laskuri - 1) Then
      i = i 1
      ReDim Preserve Lista(1 To i) As String
      Lista(i) = ThisWorkbook.Sheets(i).Name
      End If
      Next Laskuri
      If i = 0 Then
      MsgBox "et ole valinnut yhtään sivua esikatseltavaksi", vbInformation
      Exit Sub
      End If
      Me.Hide
      ThisWorkbook.Sheets(Lista).PrintPreview
      Sheets(1).Select

      Me.Show

      End Sub

      Private Sub CommandButton2_Click()
      Dim Lista() As String
      Dim i As Integer
      Dim Laskuri As Long

      For Laskuri = 1 To ListBox1.ListCount

      If ListBox1.Selected(Laskuri - 1) Then
      i = i 1
      ReDim Preserve Lista(1 To i) As String
      Lista(i) = ThisWorkbook.Sheets(i).Name
      End If
      Next Laskuri
      If i = 0 Then
      MsgBox "et ole valinnut yhtään sivua tulostettavaksi", vbInformation
      Exit Sub
      End If
      Me.Hide
      ThisWorkbook.Sheets(Lista).PrintOut
      Sheets(1).Select
      Me.Show
      End Sub
      Private Sub CommandButton3_Click()
      End
      End Sub
      Private Sub UserForm_Initialize()
      Dim i As Integer
      For i = 1 To Sheets.Count
      ListBox1.AddItem Sheets(i).Name
      Next i
      End Sub

      • tusaaja

        Paljon kiitoksia! Koodi toimii erinomaisesti.


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

    Luetuimmat keskustelut

    1. Mitä hyvää rikkaiden hyysääminen Suomelle tuonut?

      Minäpä vastaan: ei yhtikäs mitään, vaan pelkkää vahinkoa. Demareiden ansiosta Suomen valtio oli käytännössä vielä 1980-
      Maailman menoa
      18
      5848
    2. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      84
      5462
    3. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      125
      3474
    4. Tytti Tuppurainen häpäisi Suomen epäisänmaallisella lausunnollaan USA:n ulkoministerille Rubiolle.

      https://www.is.fi/politiikka/art-2000011816267.html Miksi Tytti Tuppurainen päästetään antamaan typeriä lausuntoja noin
      Maailman menoa
      93
      3442
    5. Pystyisitkö olla

      Kanssani kaiken sotkun jälkeen? Ainakaan tunteet ei ole loppuneet
      Ikävä
      121
      1221
    6. Paras muistosi

      kaivatustasi?
      Ikävä
      57
      1167
    7. Miksi miehen on hankala ymmärtää

      Että hänen on tehtävä aloite. Niin sen kuuluu mennä luonnollisesti.
      Ikävä
      130
      1092
    8. Hei kuule nainen

      Seuraavan kerran kun nähdään, puhu minulle jooko! Näin toivoo mies
      Ikävä
      38
      889
    9. Mitä puuhailet nyt ystävänpäivänä

      nainen, kun et ole mun kanssa?
      Ikävä
      45
      883
    10. Mitä sä musta oikein haluat?!

      Anna olla jo.
      Ikävä
      25
      849
    Aihe