Avatar billede kimborg Nybegynder
08. januar 2007 - 13:47 Der er 14 kommentarer og
1 løsning

Kun en checkbox markeret af gangen

Har 2 checkboxe, men det skal ikke være muligt at have dem checket på samme tid.

Skal bruges i Word og kan man bruge det alm. "afkrydsningsfelt"???
Avatar billede froenie Nybegynder
08. januar 2007 - 14:15 #1
Med Radio button kan du ved hjælp af Groupname få denne funktionalitet. Ved ik hvordan det fungere med word.
Avatar billede joern Nybegynder
08. januar 2007 - 16:35 #2
Hej.

Jeg bruger ikke VBA men VB6, så jeg ved ikke om dette er muligt.

Private Sub Check1_Click()
  If checkbox1.value = 1 then  checkbox2.value = 0
End Sub

Private Sub Check2_Click()
  If checkbox2.value = 1 then  checkbox1.value = 0
End Sub
Avatar billede kimborg Nybegynder
08. januar 2007 - 21:56 #3
Damn, det virker ikke, andre foreslag?
Avatar billede kabbak Professor
08. januar 2007 - 22:52 #4
Private Sub Check1_Click()
  If checkbox1 then  checkbox2=false
End Sub

Private Sub Check2_Click()
  If checkbox2 then  checkbox1=false
End Sub
Avatar billede kabbak Professor
08. januar 2007 - 22:55 #5
Nb husk at  det før _ i 'Check1_Click', skal svare til checkbox'ens navn
Avatar billede kimborg Nybegynder
08. januar 2007 - 23:00 #6
Følgende virker ikke:

Private Sub CheckBox1_Click()
If CheckBox1 Then CheckBox2 = False
End Sub
Private Sub CheckBox2_Click()
If CheckBox2 Then CheckBox1 = False
End Sub

Mangler der ikke også noget efter dette:  If CheckBox1.... Then CheckBox2 = False
Avatar billede kabbak Professor
08. januar 2007 - 23:09 #7
Virker fint i Word 2003 her

Nej der mangler ikke noget
en CheckBox er enten True eller False

Så koden siger

hvis sand så
Avatar billede kimborg Nybegynder
08. januar 2007 - 23:18 #8
Mærkeligt, bruger også 2003....

Har prøvet med denne kode også, men der kommer en "end if without block if" fejl

Private Sub CheckBox1_Click()
If CheckBox1.Value = 1 Then CheckBox2.Value = 0
End If
If CheckBox1.Value = 0 Then CheckBox2.Value = 1
End If
End Sub

Private Sub CheckBox2_Click()
  If CheckBox2.Value = 1 Then CheckBox1.Value = 0
  End If
  If CheckBox2.Value = 0 Then CheckBox1.Value = 1
  End If
End Sub
Avatar billede kabbak Professor
08. januar 2007 - 23:20 #9
du skal ikke have en end if, da det står på linie

Private Sub CheckBox1_Click()
If CheckBox1.Value = 1 Then CheckBox2.Value = 0

If CheckBox1.Value = 0 Then CheckBox2.Value = 1

End Sub
Avatar billede kabbak Professor
08. januar 2007 - 23:23 #10
Private Sub CheckBox1_Click()
  If CheckBox1.Value = 1 Then
    CheckBox2.Value = 0
  else
  CheckBox2.Value = 1
end if
End Sub

sådan kan det også skrives
Avatar billede kimborg Nybegynder
08. januar 2007 - 23:27 #11
Okay, men fik næsten din kode til at virke, men man kan stadig vælge begge to, hvordan gør jeg det?

Private Sub CheckBox1_Click()
If CheckBox1 = True Then CheckBox2 = False
End Sub

Private Sub CheckBox2_Click()
If CheckBox2 = True Then CheckBox1 = False
End Sub
Avatar billede kabbak Professor
08. januar 2007 - 23:32 #12
Funktioner > Makro > Sikkerhed, den skal stå til lav
når du har gjort det skal Word lukkes og genstartes
Avatar billede kimborg Nybegynder
08. januar 2007 - 23:39 #13
Havde jeg prøvet, men fandt selv ud af resten, startværdien kan jo være true ELLER false, men du fik mig i den helt rigtige retning, tusind og smid lige et svar ;o)

Private Sub CheckBox1_Click()
If CheckBox1 = True Then CheckBox2 = False
If CheckBox1 = False Then CheckBox2 = True
End Sub

Private Sub CheckBox2_Click()
If CheckBox2 = True Then CheckBox1 = False
If CheckBox2 = False Then CheckBox1 = True
End Sub
Avatar billede kabbak Professor
08. januar 2007 - 23:41 #14
et svar, men den burde virke med:

Private Sub CheckBox1_Click()
If CheckBox1  Then CheckBox2 = False
else
CheckBox2 = True
end if
End Sub

Private Sub CheckBox2_Click()
If CheckBox2  Then
CheckBox1 = False
else
CheckBox1 = True
end if
End Sub

;-))
Avatar billede kabbak Professor
08. januar 2007 - 23:42 #15
Private Sub CheckBox1_Click()
If CheckBox1  Then
CheckBox2 = False
else
CheckBox2 = True
end if
End Sub

Private Sub CheckBox2_Click()
If CheckBox2  Then
CheckBox1 = False
else
CheckBox1 = True
end if
End Sub
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
Kurser inden for grundlæggende programmering

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