Excel: 2 voneinander abhängige Kontrollkästchen

  • #1
F

falcon30

Bekanntes Mitglied
Themenersteller
Dabei seit
21.06.2005
Beiträge
94
Reaktionspunkte
0
Hallo Zusammen,

ich habe zwei Kontrollkästchen pro Zeile (Ja und Nein) die voneinander abhängig sein sollen.

Wenn ich ja anklicke muss, falls vorhanden, der Hacken aus Kontrollkästchen Nein entfernt werden und umgekehrt genauso.

Vielen Dank im Voraus!!

Grüße
falcon30
 
  • #2
Hallo,

habe noch was vergessen.

Wenn Nein angeklickt wurde soll der Kursor in der gleichen Zeile auf Spalte F springen.

Wie kann ich die Zelle zu einem Pflichtfeld machen?

Danke!!

Grüße
falcon30
 
  • #3
[sup]Private Sub CheckBox1_Click()
If CheckBox1.Value = False Then
CheckBox2.Enabled = True

End If
If CheckBox1.Value = True Then
CheckBox2.Enabled = False

End If
End Sub

Private Sub CheckBox2_Click()
If CheckBox2.Value = False Then
CheckBox1.Enabled = True
End If
If CheckBox2.Value = True Then
CheckBox1.Enabled = False

End If
If CheckBox2.Value = True Then
UserForm1.Show
End If
End Sub[/sup]

Du musst 2 Kontrollkästchen aus der Steuerelement-Toolbox einfügen - hier im Beispiel CheckBox1 und CheckBox2

Den obigen Code in F11 drücken - Projektfenster - Deine Arbeitsmappe - Tabelle 1 (falls sie es ist) - dort im Codefenster einfügen.

Dann musst Du eine Userform im VBE einfügen - dort ein Textfeld einfügen, einen CommandButton und ein Label (z.B. hier Text einfügen)

den CommandButton rechtsklicken - Code anzeigen
hier hineinkopieren:

[sup]Private Sub CommandButton1_Click()
If TextBox1 = Then
   MsgBox Bitte Wert in Textbox eintragen!
   TextBox1.SetFocus
   Exit Sub
End If
Worksheets(Tabelle1).Range(F2) = UserForm1.TextBox1.Value
UserForm1.Hide

Unload Me
End Sub[/sup]
 
  • #4
Hallo Lisa4,

Vielen Dank für die Macros.

Habe leider noch zwei probleme,

1. Ich habe pro Worksheet ca 80 Zeilen mit jeweils 2 Kontrollkästchen, d.h. ich müsste jedesmal wenn ich nein anklicke in der gleichen Zeile dann auch mein Kommentar einfügen könne. Gibt es eine einfachere Lösung als mit festen Werten F2 zu arbeiten? Denn so müsste ich für jede Zeile einige Zielen an Macro erstellen.

2. Wenn in der Zelle F* schon was steht und ich klicke auf Nein sollte die enthaltene information mit in dem Textfeld mit übernommen werden.

Wäre toll, wenn das alles klappen würde.

Vielen Dank im Voraus!!

Grüße
falcon30
 
  • #5
Noch mal ich,

bin jetzt von den Kontrollkästchen abgekommen.

Ich habe jetzt folgede Lösung:

[sup]
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim d As Range
    Set d = Range(D8:D100)
    Dim e As Range
    Set e = Range(E8:E100)
     
    Set Targetd = Intersect(d, Target)

    If Not Targetd Is Nothing Then
        ActiveSheet.Unprotect
        For Each d In Targetd.Cells
            With d
           
                If .Value = Then
                    .Value = x
                    Cells(.Row, E).ClearContents
                   
                                   
                End If
            End With
        Next
                       
        ActiveSheet.Protect
    End If

Set Targete = Intersect(e, Target)
    If Not Targete Is Nothing Then
        ActiveSheet.Unprotect
        For Each e In Targete.Cells
            With e
           
                If .Value = Then
                    .Value = x
                    Cells(.Row, D).ClearContents
                   
                               
                End If
           
          If Cells(.Row, E).Value = x Then
            Maßnahmen.Show
            End If
           
           
            End With
Next
         
       
        ActiveSheet.Protect
   
    End If

End Sub


[/sub]


Mein CommandButton1 sieht so aus:

Private Sub CommandButton1_Click()
If TextBox1 = Then
 
   TextBox1.SetFocus
 
End If
Cells(.Row, G).Value = Maßnahmen.TextBox1.Value
Maßnahmen.Hide

Unload Me
End Sub


Leider funktioniert nun mein Userform nicht mehr. Wenn ich auf ein Feld in der Spalte E klicke wird UserForm1 gestartet und ich kann Text eingeben. Klicke ich nun auf OK, bleibt mein Makro stehen. es passiert nichts.

Ich denke Cells(.Row, G).Value = Maßnahmen.TextBox1.Value müsste vorher noch irgendwie definiert weden. oder??

Grüße
falcon30
 
  • #6
Cells(ActiveCell.Row, 7) = Maßnahmen.TextBox1.Value

probiere das mal, sollte klappen.
 
  • #7
Noch eine Kleinigkeit, :)

Punkt Nr. 2:
2. Wenn in der Zelle F* schon was steht und ich klicke auf Nein sollte die enthaltene information mit in dem Textfeld mit übernommen werden.

Wie sieht die Lösung dafür aus?

Grüße
falcon30
 
  • #8
Code:
Cells(ActiveCell.Row, 7) = Cells(ActiveCell.Row, 7) &   & Maßnahmen.TextBox1.Value]

probiere dies mal.
 
  • #9
Hallo Lisa4,

die Information in Zelle F sollte, falls es möglich ist, in den Textfeld kopiert werden und auch editierbar sein.

Ich habe folgendes versucht, doch ohne erfolg.

Private Sub TextBox1_Change()

If Cells(ActiveCell.Row, F) = Then
Else
Cells(ActiveCell.Row, F).Copy
Maßnahmen.TextBox1.Paste

End If
End Sub

Grüße
falcon30
 
  • #10
Hallo Zusammen,

kann mir jemand weiterhelfen?

Mit dem Code:

Cells(ActiveCell.Row, 7) = Cells(ActiveCell.Row, 7) & & Maßnahmen.TextBox1.Value]

Funktioniert es leider nicht.

Vielen Dank im Voraus.

Grüße
falcon30
 
  • #11
Hallo Zusammen,

ich habe das ganze jetzt so gelöst:

Code:
Option Explicit

Private Sub cmdContinue_Click()
 
 
  If txtEdit =  Then
   MsgBox Bitte Maßnahme in Textbox eintragen!
   txtEdit.SetFocus
  
   Exit Sub
  End If
 
  frmEdit.Hide

  
  Unload Me
End Sub

Private Sub txtEdit_Change()
  Cells(ActiveCell.Row, 6).Value = txtEdit.Text
End Sub

Private Sub UserForm_Initialize()
  
  txtEdit.Text = Cells(ActiveCell.Row, 6).Value
  
 

End Sub


Grüße
falcon30
 
Thema:

Excel: 2 voneinander abhängige Kontrollkästchen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.489
Neuestes Mitglied
DonMartin
Oben