Vba Haken im Kontrollkästchen durch button aktivieren?

4 Antworten

die Sache ist die, die Checkbox is in einem excel fomular und der code dazu steht in der Tabelle 1.

die ansprechende funktion steht aber in einem Modul, die Check1.Value nicht erkannt hat.

Sprich ich hab Check1.value = Check_1 genannt und

im Modul

Option Explicit 
Public Check_1 As Boolean 

angegeben

dadurch konnte ich dann im modul mit Value arbeiten.

Tabelle 1 Code in der Tabelle (Arbeitsmappe)

Sub Check1_Click()
  Check_1 = Check1.Value

 If Check1 = True Then
       
    If Cells(6, 11) = 1 Then
      Sheets("Tabelle1").Select
      ...

Modulcode für den button (Modul)

Option Explicit

Public Check_1 As Boolean

If Check_1 = False Then

        zufall = Int((6 - 1 + 1) * Rnd + 1)
         

und jetzt soll durch einen Dritten Button eben der haken gelöscht werden, falls er vorhanden ist.

wie schon beschrieben fuktioniert es nur optisch will der haken nicht verschwinden

Bist du sicher, dass die CheckBox "Check_1" und nicht -- wie üblich -- "Check1" heißt?

Steht in den allerersten Zeilen

Option Explicit

? Dann siehst du schon beim Kompilieren, wenn irgendwo eine nicht deklarierte Variable verwendet wird.

Befindet sich die CheckBox auf dem Excel-Formular oder in einer UserForm?

Woher ich das weiß:Berufserfahrung – Software-Entwickler
toslo92 
Fragesteller
 09.05.2018, 12:48

die Sache ist die, die Checkbox is in einem excel fomular und der code dazu steht in der Tabelle 1.

die ansprechende funktion steht aber in einem Modul, die Check1.Value nicht erkannt hat.

Sprich ich hab Check1.value = Check_1 genannt und

im Modul

Option Explicit 
Public Check_1 As Boolean 

angegeben

dadurch konnte ich dann im modul mit Value arbeiten.

Tabelle 1 Code in der Tabelle (Arbeitsmappe)

Sub Check1_Click()
  Check_1 = Check1.Value

 If Check1 = True Then
       
    If Cells(6, 11) = 1 Then
      Sheets("Tabelle1").Select
      ...

Modulcode für den button (Modul)

Option Explicit

Public Check_1 As Boolean

If Check_1 = False Then

        zufall = Int((6 - 1 + 1) * Rnd + 1)
         

und jetzt soll durch einen Dritten Button eben der haken gelöscht werden, falls er vorhanden ist.

wie schon beschrieben fuktioniert es nur optisch will der haken nicht verschwinden

0
PWolff  09.05.2018, 13:02
@toslo92

Check_1 ist eine eigenständige Variable und hat mit Check1 überhaupt nichts zu tun.

Nimm Tabelle1.Check1 oder (besser) Tabelle1.Check1.Value

0
toslo92 
Fragesteller
 10.05.2018, 20:00

danke dir klappt perfekt. hab echt einiges ausprobieren aber darauf zu kommen Tabelle1 davor zu schreiben bin ich nicht. danke dir, dann brauch ich die Variable Check_1 überhaupt nicht mehr.... des erleichtert mir einiges danke dir

0

Hast du eine ActiveX oder Formular Check box verwendet ?
Bei ActiveX:
   Check1.Value = True
Bei einem Formularfeld musst du in die "verknüpfte Zelle" "0" oder "1" schreiben.
Achtung:
Bei ActiveX wird auch das ChangeEvent des Controls ausgelöst, sofern dort Code steht läuft dieser ebenfalls ab, was ggf nicht erwünscht ist.   

Schonmal

Check_1.value = false

probiert?

Woher ich das weiß:Berufserfahrung – Softwareentwicklerin