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

471

    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. 20v on otettu kiinni

      Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
      Savonlinna
      115
      7875
    2. Somali ei kätellyt Stubbia Linnan juhlissa

      Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
      Maailman menoa
      678
      4972
    3. Kuka on menehtynyt?

      https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
      Kankaanpää
      24
      3244
    4. 54
      1406
    5. Nainen, ota nyt rauhallisesti

      Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä
      Ikävä
      138
      1347
    6. Mitä meidän välillä

      Tapahtuu lopulta?
      Ikävä
      23
      1343
    7. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

      https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
      Maailman menoa
      102
      1339
    8. Savonlinnan murhapolttaja romani

      Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
      Maailman menoa
      167
      1239
    9. Ajattelen sinua kiitollisuudella

      Olet minulle jotain kaunista, jotain, joka tapahtui elämässäni. Et ole minulle pakkomielle enkä vaadi sinulta yhtään mi
      Ikävä
      55
      1003
    10. Sinulle tiedoksi

      Olen paljon miettinyt sitä hetkeä, kun uskalsin näyttää pienin elein ja kertoa pienesti, eli hyvin hillitysti sinulle si
      Ikävä
      28
      903
    Aihe