Et lille eksempel. Du har en userform, der hedder UserForm1, med een knap (cbKnap) og een textbox (tbTal). Hvis du dobbelt klikker på knappen og indsætter følgende vil userformen indsætte værdien 1000 i celle A1 i ark 'Ark1' og den indtastede værdi i celle A2
I forbindelse med userforms er der en masse events, der giver muligheden for at køre forskellige små stykker kode alt efter hvilken handling, der fortages. I ovenstående eksempel brugte vi click-eventet ifm. en knap, hvilket medfører at der kører en lille kode, når vi trykker på knappen. Det kunne ligeså have været noget kode der sender en mail, opdaterer en datebase etc. Alle indtastninger og valg i en userform kan hentes over i regnearket, en variabel eller lignende ved at tildele en celle, variabel eller hvad de nu måtte være værdien fra userformen efter følgende princip:
Variabel = Userformnavn.Kontrolnavn.Value Cellereference = Userformnavn.Kontrolnavn.Value
Det var den korte og bestemt ikke-udfyldende forklaring...
Hvad med OptionButton1 ? hvor den har sammenhæng med en celle 5,5 Værdien i OptionButton1 skal afspejle den nuværende værdi i celle 5,5 når UserForm åbnes. Og ved klik i på OptionButton1 skal værdien kunne ændres.
(baggrund; lad os antage at en graf laves ud fra værdierne i celle 5,5 + 5;6 + 5,7 - og for at kunne simulere tilvag og fravalg vil det være lækkert hvis man kan klikke på OptionButton1 ; der så ved aktiveret (med prik i) medtager celle 5,5 - og ved ikke-aktiveret sætter celle 5,5 til fx værdien 0)
Jeg er ikke helt med... Så du får lige det generelle i første omgang :-)
Når OptionButton1 ikke er markeret har den 'værdien': OptionButton1.Value = False. Når OptionButton1 modsat er markeret har den 'værdien': OptionButton1.Value = False
Hvis du laver det som en checkbox i stedet så kan du fjerne markeringen igen...
Private Sub CheckBox1_Click()
Dim rngChartData As Range
'Checkbox1 ikke markeret If CheckBox1.Value = False Then ActiveWorkbook.Sheets("Ark1").Activate Set rngChartData = Range(Cells(5, 6), Cells(5, 7)) Else ActiveWorkbook.Sheets("Ark1").Activate Set rngChartData = Range(Cells(5, 5), Cells(5, 7)) End If
I ovenstående kode er referencen til regnearket celle (5,5) til (5,7) hvis checkboxen er markeret og celle (5,6) til (5,7) hvis checkboxen ikke er markeret.
'Checkbox1 ikke markeret If CheckBox1.Value = False Then ActiveWorkbook.Sheets("Ark1").Cells(21, 2).Value = "Nej" Else ActiveWorkbook.Sheets("Ark1").Cells(21, 2).Value = "Ja" End If
End Sub
(årsag: hvis 21,2 er "JA" så medtages beløbet ; "Nej" så er det ikke med - efter dette så skal jeg bare have den til at opdatere chartet (som iøvrigt vises som en gif-billede)
kan fx. CheckBox1 være Checked/Unchecked når UserForm loades - alt afhængig af hvad der står i Celle 21,2 ("Ja" eller "Nej") Når der er valgt "JA" så skal beløbet jo medtages - og så ser det lidt dumt ud at CheckBox1 ikke er markeret (det er dog medregnet!)
Men det skal vel ikke styres under ovenstående SUB ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.