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

521

    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. Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?

      Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.
      Maailman menoa
      276
      3971
    2. Riikka jytkytti naftan hinnan jo yli 2,3 euroon

      Sannan aikaan esimerkiksi dieseliä selvästi kalliimpaa bensaakin sai 1,3 eurolla. https://www.is.fi/autot/art-200001188
      Maailman menoa
      105
      3645
    3. Vasemmiston feministinaiset puolustavat islamia

      mikä on täysin järjenvastaista, mutta eihän femakoilla paljon järkeä olekkaan, leijuvat siellä omassa kuplassaan. Myös
      Maailman menoa
      177
      2636
    4. Päivän Sanna: Suomi maailman onnellisin maa

      Sanna muutti Suomen maailman onnellisimmaksi maaksi. Hänen pyyteetön työnsä maailmalla tuottaa edelleen tulosta.
      Maailman menoa
      42
      2397
    5. Ei se halua mitään!!

      Arkailija koko tyyppi!
      Ikävä
      62
      2345
    6. Jätän tähän viesti kaivatullesi

      jos jotain jäänyt sanomatta. 👇
      Ikävä
      154
      1942
    7. Olet kyllä erittäin huono yhdistelemään pisteitä.

      Etkä vain sinä vaan kaikki teilläpäin.
      Ikävä
      34
      1737
    8. Etkö sitten itse

      ole koskaan ylittänyt rajaa?
      Ikävä
      41
      1353
    9. Onko jo liian "vanha" vai mitä mieltä olet? 57-v. saa raakaa tekstiä tv:ssä

      The Summit Suomi tv-ohjelmassa 57-vuotiaan Maritan jaksamista kyseenalaistettiin iän takia. Onko tässä iässä jo liian "v
      50 plus
      31
      1317
    10. Mitä järkeä iskeä

      Varattua ja yrittää saada sitä eroamaan
      Ikävä
      46
      1222
    Aihe