Named range

Checkbox

Tarkoitus on luoda UserForm, jossa on checkboxeja, joiden perusteella liitetään yhteen multi area kokoelmaan useita alueita tulostusta ja esikatselua varten, kumpaakin toimintoa varten on nappi. Alueet on nimetty excelissä.

Olen kokeillut union methodia näiden nimettyjen alueiden yhdistämiseen, se toimi ihan hyvin muuten, mutta jotta voisin liittää tähän multi area kokoelmaan alueita, sen pitää olla alustettu.

Dim MyMulti as range

ActiveSheet.PageSetup.PrintTitleRows = ActiveSheet.Rows("1:12").Address

Set MyMulti = Range("Alue1")

MyMulti = Application.Union(MyMulti, Range("Alue2"))

Jne..

Miten saan tehtyä tämän niin että voin valita Alue1.. ..Alue9 välillä checkboxien kautta mitkä tai minkä sivun haluan esikatseluun tai tulostukseen?

If.. Then rakenteesta tulee aika monimutkainen, ainakin minun vaatimattomilla taidoillani.

Kiitos etukäteen loistavista ratkaisuista!

2

271

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • lomakkeen moduuliin...

      ja kaikki nimet nyt oletusnimiä ja alueet nimetty checkbox captionin nimillä työkirjassa esim Alue1, Alue2 jne

      Option Explicit
      Dim ctl As Control
      Public MyMulti As Range
      Sub MaaritaAlue()
      Set MyMulti = Nothing
      On Error Resume Next
      For Each ctl In UserForm1.Controls
      If TypeName(ctl) = "CheckBox" Then
      If ctl.Value = True Then
      If MyMulti Is Nothing Then
      Set MyMulti = Range(ctl.Caption)
      Else
      Set MyMulti = Application.Union(MyMulti, Range(ctl.Caption))
      End If
      End If
      End If
      Next
      'MsgBox MyMulti.Address
      End Sub

      Private Sub CheckBox1_Click()
      MaaritaAlue
      End Sub

      Private Sub CheckBox2_Click()
      MaaritaAlue
      End Sub

      Private Sub CheckBox3_Click()
      MaaritaAlue
      End Sub

      Private Sub CheckBox4_Click()
      MaaritaAlue
      End Sub

      Private Sub CommandButton1_Click()
      On Error GoTo virhe
      MyMulti.Select
      'Me.Hide
      'ActiveSheet.PrintPreview False
      Exit Sub
      virhe:
      MsgBox "sinun täytyy valita ainakin yksi alue tulostusta varten!", vbInformation
      End Sub

      • CheckBox

        Jep, ei se sitten ollutkaan niin monimutkainen, mun viritys oli 4 kertaa pitempi, eikä se saatana edes toiminut :)

        Kiitos ja kumarrus!


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

    Luetuimmat keskustelut

    1. Kuka pistetty kylmäksi

      Ketähän joutunu puukkohipan uhriksi? Tietääkö kukkaan?
      Kajaani
      31
      2980
    2. Mietin että

      Onko tarinallamme vielä luvussa tilaa kohtaamiselle vai jääkö se tähän.
      Ikävä
      95
      1616
    3. Kaipaatko sinä

      Yhtään meidän katseita
      Ikävä
      127
      1454
    4. Mira Luoti ja Julkkisselviytyjät 2017 - Ketä kuumottaa juuri nyt?

      HS: Tässä ohjelmassa Mira Luoti kertoi kokeneensa seksuaalista väkivaltaa "PMMP-yhtyeen Mira Luoti kertoo Ylen uudessa
      Kotimaiset julkkisjuorut
      38
      1286
    5. Oletko samaa mieltä

      Että on parempi olla erillään?
      Ikävä
      80
      1196
    6. Törkeä eläinsuojelurikos Sonkajärvellä

      Pohjois-Savossa Sonkajärvellä noin 40 kissaa ja reilut 10 koiraa on jouduttu lopettamaan kaltoinkohtelun vuoksi, kertoo
      Sonkajärvi
      26
      1099
    7. Kirjallinen varoitus

      On annettu eräälle henkilölle. hyssytellään kuitenkin asiasta
      Äänekoski
      54
      1018
    8. Julkisuuden henkilön päiväin päätös

      Sitä vaan, että kyllä nyt kaikki tietävät kuka oli Eemeli Peltola (kansanedustaja, joka päätti päivänsä eduskuntatalossa
      Sinkut
      270
      961
    9. MESTARI SIVALTAA JÄLLEEN

      https://www.is.fi/politiikka/art-2000011436243.html Suomen ainoa Mestari lausuu tosiasiat Sannasta , Tuomiojasta ja hil
      Kajaani
      230
      958
    10. Jotkut ihmiset pelkäävät syöpää sairastavaa

      On hauskaa, kun kertoo jollekin, että "minulla on syöpä". Jotkut käyttäytyvät kuin se olisi tarttuva tauti. Eivät uskall
      Sinkut
      122
      925
    Aihe