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?
Tulostus excelistä helpoksi?
2
474
Vastaukset
- 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
Nasima löi Jussille luun kurkkuun
Nasima kertoi ettei Jussi sovi puhemieheksi, koska sallii rasismin. Mihin toimiin perussuomalaiset ryhtyvät? Kuka nouse3397693Razmyar on säälittävä - puhemiehellä ei ole mitään syytä ottaa kantaa tähän "silmäkohuun"
jonka toimittajat sai aikaan. Asia ei kuulu puhemiehelle millään lailla. Razmyar haluaa taas vaan huomiota. Mutta jos r755456Pitkän linjan yritysjohtaja: Suomen tapahtumat eivät ole Aasian kärkiuutinen
Viimeaikaista kohua on käytetty sisäpoliittisena lyömäaseena, Thomas Zilliacus sanoo. – Koska asiaa kuitenkin kommentoi1114623Siviilipalvelusmies Halla-aho normalisoi rasismin perussuomalaisissa
SMP:n tuhkille perustettu puolue ei ollut ihmisiä vastaan, vaan instituutiokriittinen. "Missä EU - siellä ongelma", oli224403Miten Eerolan silmäkuvat voivat levitä muutamassa tunnissa ympäri maailmaa?
Seuraako koko maailma persujen ja erityisesti Eerolan somea reaaliajassa? Edes kansanedustajan itsemurha eduskuntatalos1434280Suomalaisilta vaaditaan valtavasti suvaitsevaisuutta - miksi sitä ei vaadita muslimeilta
Suomalaisilta vaaditaan kaikkea, pitää olla suvaitsevainen ja hyväksyä vieraiden tavat, rasisti ei saa olla jne. Miksi s523937Juuri Suomen valtamedian toimittajat teki "silmävääntelystä" sen kohun
ja ilmeisesti ottivat yhteyttä myös ulkomaisiin medioihin, että katsokaas tätä. Mutta Japanin medioissa on asiaan suhta1573819Demarit ovat oikeasti törppöjä eli heikkoälyisiä
ja todistavat sitä päivittäin täällä lapsellisilla jutuillaan. Kauheasti on hehkuttaneet kuinka demarien kannatus vaan773717Perussuomalaiset eivät harrasta maalittamista kuten vasemmisto
Huomaa tässä keinotekoisessa "rasismi"-kohussakin kuinka vasemmistolaiset maalittavat Perussuomalaisia. Me emme vastaava293606SDP:n kansanedustaja Marko Asell: Suomen myönnettävä maahanmuuton ongelmat
Hänen mielestään Suomen pitää pyrkiä rajoittamaan jyrkästi turvapaikanhakijoiden pääsyä maahan ja hän arvioi, että maaha853451