Named range

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!
2297
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

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

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

    Kiitos ja kumarrus!

    Äänestä

Kommentoi aloitusta


Checkbox kirjoitti:

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!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu