Avatar billede h_s Forsker
28. december 2004 - 18:42 Der er 7 kommentarer og
1 løsning

Indsættelse af markeringer i checkbox i celle

Jeg har en UserForm, hvor jeg har 3 checkboxe.

Jeg har brug for en makro, der indsætter et "X" i cellerne A1, A2 og A3, hvis der er lavet markeringer i checkboxene (checkbox 1, checkbox 2 og checkbox 3).

Hvordan får man checkboxen til at være markeret som standard?
Avatar billede bak Forsker
28. december 2004 - 20:12 #1
Sæt kryds når commandbutton trykkes.

Private Sub CommandButton1_Click()
If CheckBox1 = True Then [a1] = "x" Else [a1] = ""
If CheckBox2 = True Then [a2] = "x" Else [a2] = ""
If CheckBox3 = True Then [a3] = "x" Else [a3] = ""
End Sub

Hvis du vil have sat krydset i samme øjeblik checkboxen klikkes på dksl du oprette en for hver checkbox:_
Private Sub CheckBox1_Click()
If CheckBox1 = True Then [a1] = "x" Else [a1] = ""
End Sub


Markeret som standard:
Private Sub UserForm_Initialize()
CheckBox1 = True
CheckBox2 = True
CheckBox3 = True
End Sub
Avatar billede h_s Forsker
29. december 2004 - 09:43 #2
Jeg troede jeg kunne tilrette det til mit behov.... Det kunne jeg ikke..

Hvad går der galt her?

'Indsætter celle L2 i nye række i kolonne H
Range("I" & ActiveCell.Row) = [M2]
'Indsætter dags dato i nye række i kolonne A
Range("B" & ActiveCell.Row) = Date
'Sætter "X" i kollonne E = Henrik
If cbHenrik = True Then Range("E" & ActiveCell.Row) = "X"
Else: Range("E" & ActiveCell.Row) = ""
'Sætter "X" i kollonne E = Thomas
If cbThomas = True Then Range("D" & ActiveCell.Row) = "X"
Else: Range("D" & ActiveCell.Row) = ""
'Sætter "X" i kollonne C = Steen
If cbSteen = True Then Range("C" & ActiveCell.Row) = "X"
Else: Range("C" & ActiveCell.Row) = ""

Formålet er at lige inden dette skykke makro er der blevet indsat en række. Som du kan se, så kopieres en celle fra M2 til kolonne Kolonne I og indsættes dagsdato i kolonne B i den aktive række, hvilket er den der lige er lavet. Det virker!

Hvorfor virker det andet så ikke? Jeg skal lige sige at de ":" der står efter "Else" kan jeg ikke få lov til at slette!!

Mht. Makering som standard, så har jeg en komandoknap, som åbner UserForm, hvor jeg laver markeringerne i CheckBox. Er det ikke her jeg skal skrive de 3 linjer Makro?
Avatar billede h_s Forsker
29. december 2004 - 09:47 #3
Ups!

1. linje skulle være: 'Indsætter celle M2 i nye række i kolonne I
3. linje skulle være: 'Indsætter dags dato i nye række i kolonne B

Men det er jo kun forklaringerne det er galt med...
Avatar billede h_s Forsker
29. december 2004 - 09:52 #4
Nu lykkedes det:

Else skal stå på samme linje som starten af IF-sætningen:
Ex:If cbHenrik = True Then Range("E" & ActiveCell.Row) = "X" Else Range("E" & ActiveCell.Row) = ""

Hvorfor det?
Jeg har stadig probelmer med Markering som standard!
Avatar billede bak Forsker
29. december 2004 - 13:12 #5
Hvilket problem har du med Markering som standard!,? er ckeckboxene ikke markerede eller ????

mht.
If cbHenrik = True Then Range("E" & ActiveCell.Row) = "X" Else Range("E" & ActiveCell.Row) = ""
hvis else står på næste linie som du viste det, skal hver if sætning afsluttes med end if
Avatar billede h_s Forsker
29. december 2004 - 15:39 #6
Ja, checkboxene er ikke markeret.

Jeg har lagt formlen i den komandoknap, som åbner UserFormen. Den kommer til at se således ud:

Private Sub cmdRegistrerKørsel_Click()
ufKørsel.Show
    'Sætter markeringer i CheckBox i UserForm ufKørsel
    cbHenrik = True
    cbSteen = True
    cbThomas = True
End Sub

Hvad er forkert?
Avatar billede h_s Forsker
29. december 2004 - 15:58 #7
Har fundet en løsning

I egenskaber for Checkboxene sættes Value = True. Så vil standardindstillingen være markering.

Bak læg lige et svar, så du kan få dine point!
Avatar billede bak Forsker
29. december 2004 - 16:58 #8
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester