Frage wie kann ich einer checkbox sagen das sie solange false ist bis ich sie anklicke?
(False = 0 (soll eine 0 in der spalte/zeile stehen)
(true = 1 (soll eine 1 drinnen stehen) (Aber nur wenn ich sie bewusst anklicke.)
ist das möglich?
lg
Private Sub CheckBox1_Click()
Range("A1") = Not CheckBox1 - 1
End Sub
Private Sub CommandButton1_Click()
Dim lZeile As Long
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
lZeile = lZeile + 1
Loop
Tabelle1.Cells(lZeile, 1) = CStr(lZeile)
ListBox1.AddItem CStr(lZeile)
ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub
Private Sub CommandButton2_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton3_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(CStr(TextBox1.Text)) = "" Then
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Tabelle1.Cells(lZeile, 2).Value = TextBox2.Text
Tabelle1.Cells(lZeile, 3).Value = TextBox3.Text
Tabelle1.Cells(lZeile, 4).Value = TextBox4.Text
Tabelle1.Cells(lZeile, 5).Value = TextBox5.Text
Tabelle1.Cells(lZeile, 6).Value = TextBox6.Text
Tabelle1.Cells(lZeile, 7).Value = TextBox7.Text
Tabelle1.Cells(lZeile, 8).Value = TextBox8.Text
Tabelle1.Cells(lZeile, 9).Value = TextBox9.Text
Tabelle1.Cells(lZeile, 10).Value = TextBox10.Text
Tabelle1.Cells(lZeile, 11).Value = TextBox11.Text
If CheckBox1 Then
Tabelle1.Cells(lZeile, 12) = "1"
Else
Tabelle1.Cells(lZeile, 12) = ""
End If
If ListBox1.Text Trim(CStr(TextBox1.Text)) Then
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1 = False
If ListBox1.ListIndex >= 0 Then
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
TextBox1 = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
TextBox2 = Tabelle1.Cells(lZeile, 2).Value
TextBox3 = Tabelle1.Cells(lZeile, 3).Value
TextBox4 = Tabelle1.Cells(lZeile, 4).Value
TextBox5 = Tabelle1.Cells(lZeile, 5).Value
TextBox6 = Tabelle1.Cells(lZeile, 6).Value
TextBox7 = Tabelle1.Cells(lZeile, 7).Value
TextBox8 = Tabelle1.Cells(lZeile, 8).Value
TextBox9 = Tabelle1.Cells(lZeile, 9).Value
TextBox10 = Tabelle1.Cells(lZeile, 10).Value
TextBox11 = Tabelle1.Cells(lZeile, 11).Value
CheckBox1 = Tabelle1.Cells(lZeile, 12).Value
Exit Do
End If
lZeile = lZeile + 1
Loop
End If
End Sub
Private Sub UserForm_Activate()
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub
Private Sub UserForm_Initialize()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1 = False
ListBox1.Clear
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
lZeile = lZeile + 1
Loop
End Sub
CheckBox1 = Tabelle1.Cells(lZeile, 12).Value
naja so wie du das geschrieben hast funkt das ned ganz ...
If CheckBox1 Then
Tabelle1.Cells(lZeile, 12) = "1"
Else
Tabelle1.Cells(lZeile, 12) = ""
End If
nur weis ich eben nicht wie ich ihm sage er soll default mässig auf "" (emty) sein er hinterlegt mir irgendwie die checkbox im modul so komisch ... und es funktioniert nur dann wenn ich die checkbox anklicke dann ist es ihm egal ob sie true or false ist dann funktioniert sie aber das problem ist eben das ich sie erst einmal anklicken muss also mich entscheiden muss damit sie funktioniert .. das ist wenn ich so an die 100 dann habe etwas mühsam soll so funktionieren das Default mässig alle auf "" stehen und wenn z.b. eine true ist dann soll "1" stehen.
If CheckBox1 Then
Tabelle1.Cells(lZeile, 12) = "1"
Else
Tabelle1.Cells(lZeile, 12) = ""
End If
CheckBox1 = False
Tabelle1.Cells(lZeile, 12) = ""
Private Sub CheckBox1_Click()
End Sub
Private Sub CommandButton1_Click()
Dim lZeile As Long
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
lZeile = lZeile + 1
Loop
Tabelle1.Cells(lZeile, 1) = CStr(lZeile)
ListBox1.AddItem CStr(lZeile)
ListBox1.ListIndex = ListBox1.ListCount - 1
CheckBox1.Value = False
End Sub
Private Sub CommandButton2_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton3_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(CStr(TextBox1.Text)) = "" Then
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Tabelle1.Cells(lZeile, 2).Value = TextBox2.Text
Tabelle1.Cells(lZeile, 3).Value = TextBox3.Text
Tabelle1.Cells(lZeile, 4).Value = TextBox4.Text
Tabelle1.Cells(lZeile, 5).Value = TextBox5.Text
Tabelle1.Cells(lZeile, 6).Value = TextBox6.Text
Tabelle1.Cells(lZeile, 7).Value = TextBox7.Text
Tabelle1.Cells(lZeile, 8).Value = TextBox8.Text
Tabelle1.Cells(lZeile, 9).Value = TextBox9.Text
Tabelle1.Cells(lZeile, 10).Value = TextBox10.Text
Tabelle1.Cells(lZeile, 11).Value = TextBox11.Text
If CheckBox1.Value Then
Tabelle1.Cells(lZeile, 12) = "1"
Else
Tabelle1.Cells(lZeile, 12) = ""
End If
If ListBox1.Text Trim(CStr(TextBox1.Text)) Then
Call UserForm1_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1.Value = False
If ListBox1.ListIndex >= 0 Then
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
TextBox1 = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
TextBox2 = Tabelle1.Cells(lZeile, 2).Value
TextBox3 = Tabelle1.Cells(lZeile, 3).Value
TextBox4 = Tabelle1.Cells(lZeile, 4).Value
TextBox5 = Tabelle1.Cells(lZeile, 5).Value
TextBox6 = Tabelle1.Cells(lZeile, 6).Value
TextBox7 = Tabelle1.Cells(lZeile, 7).Value
TextBox8 = Tabelle1.Cells(lZeile, 8).Value
TextBox9 = Tabelle1.Cells(lZeile, 9).Value
TextBox10 = Tabelle1.Cells(lZeile, 10).Value
TextBox11 = Tabelle1.Cells(lZeile, 11).Value
CheckBox1.Value = Tabelle1.Cells(lZeile, 12).Value
Exit Do
End If
lZeile = lZeile + 1
Loop
End If
End Sub
Private Sub UserForm_Activate()
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub
Private Sub UserForm1_Initialize()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1.Enabled = True
CheckBox1.Value = False
ListBox1.Clear
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton1_Click()
Dim lZeile As Long
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
lZeile = lZeile + 1
Loop
Tabelle1.Cells(lZeile, 1) = CStr(lZeile)
ListBox1.AddItem CStr(lZeile)
ListBox1.ListIndex = ListBox1.ListCount - 1
CheckBox1.Value = False
End Sub
Private Sub CommandButton2_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
Call UserForm1_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton3_Click()
Dim lZeile As Long
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(CStr(TextBox1.Text)) = "" Then
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
Tabelle1.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Tabelle1.Cells(lZeile, 2).Value = TextBox2.Text
Tabelle1.Cells(lZeile, 3).Value = TextBox3.Text
Tabelle1.Cells(lZeile, 4).Value = TextBox4.Text
Tabelle1.Cells(lZeile, 5).Value = TextBox5.Text
Tabelle1.Cells(lZeile, 6).Value = TextBox6.Text
Tabelle1.Cells(lZeile, 7).Value = TextBox7.Text
Tabelle1.Cells(lZeile, 8).Value = TextBox8.Text
Tabelle1.Cells(lZeile, 9).Value = TextBox9.Text
Tabelle1.Cells(lZeile, 10).Value = TextBox10.Text
Tabelle1.Cells(lZeile, 11).Value = TextBox11.Text
If CheckBox1.Value Then
Tabelle1.Cells(lZeile, 12) = "1"
Else
Tabelle1.Cells(lZeile, 12) = ""
End If
If ListBox1.Text Trim(CStr(TextBox1.Text)) Then
Call UserForm1_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do
End If
lZeile = lZeile + 1
Loop
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1.Value = False
If ListBox1.ListIndex >= 0 Then
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
TextBox1 = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
TextBox2 = Tabelle1.Cells(lZeile, 2).Value
TextBox3 = Tabelle1.Cells(lZeile, 3).Value
TextBox4 = Tabelle1.Cells(lZeile, 4).Value
TextBox5 = Tabelle1.Cells(lZeile, 5).Value
TextBox6 = Tabelle1.Cells(lZeile, 6).Value
TextBox7 = Tabelle1.Cells(lZeile, 7).Value
TextBox8 = Tabelle1.Cells(lZeile, 8).Value
TextBox9 = Tabelle1.Cells(lZeile, 9).Value
TextBox10 = Tabelle1.Cells(lZeile, 10).Value
TextBox11 = Tabelle1.Cells(lZeile, 11).Value
CheckBox1.Value = Tabelle1.Cells(lZeile, 12).Value
Exit Do
End If
lZeile = lZeile + 1
Loop
End If
End Sub
Private Sub UserForm1_Activate()
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub
Private Sub UserForm1_Initialize()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
CheckBox1.Enabled = True
CheckBox1.Value = False
' ListBox1.Clear
lZeile = 2
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) ""
ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
lZeile = lZeile + 1
Loop
End Sub
'Checkbox Werte aus Tabelle einlesen
'bei wenigen Checkboxen:
CheckBox1 = Tabelle1.Cells(lZeile, 12).Value = 1
'bei vielen Checkboxen z.B
Dim i As Integer, Anzahl As Integer
Anzahl = 2 'Anzahl der Checkboxen
For i = 1 To Anzahl
Me.Controls("CheckBox" & i) = Tabelle1.Cells(lZeile, 11 + i).Value = 1
Next
'Einzelne Checkboxwerte in Tabelle schreiben
Tabelle1.Cells(lZeile, 12) = IIf(Me.CheckBox1, 1, "")
'Viele Checkboxwerte in Tabelle schreiben
Dim i As Integer, Anzahl As Integer
Anzahl = 2 'Anzahl der Checkboxen
For i = 1 To Anzahl
Tabelle1.Cells(lZeile, 11 + i) = IIf(Me.Controls("CheckBox" & i), 1, "")
Next
In der Initialisierungsprozedur muss du die Checkboxen nicht auf False setzen.
Private Sub prcZahlinZelle(rngZelle As Range, strText As String)
If strText = "" Then
rngZelle.ClearContents
ElseIf IsNumeric(strText) Then
rngZelle.Value = CDbl(strText)
Else
rngZelle.Value = strText
End If
End Sub
Private Sub CommandButton3_Click()
'Datensatz Speichern
Dim lZeile As Long
Dim varID As Variant
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(CStr(TextBox2.Text)) = "" Or Trim(CStr(TextBox3.Text)) = "" Then
MsgBox "Sie müssen mindestens einen Namen und das Datum eingeben!", _
vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
With wksZiel
'Zeile mit ID suchen
lZeile = fncZeile_zu_ID(varID:=ListBox1.Text)
If lZeile > 0 Then
Call BlattschutzAUS(wksZiel)
.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text)) '
.Cells(lZeile, 2).Value = TextBox2.Text
With TextBox3
If IsDate(.Text) Then
wksZiel.Cells(lZeile, 3).Value = CDate(.Text)
ElseIf .Text = "" Then
wksZiel.Cells(lZeile, 3).ClearContents
Else
wksZiel.Cells(lZeile, 3).Value = .Text
End If
End With
.Cells(lZeile, 4).Value = TextBox4.Text
Call prcZahlinZelle(rngZelle:=.Cells(lZeile, 5), strText:=TextBox5.Text) 'Spalte
Call prcZahlinZelle(rngZelle:=.Cells(lZeile, 6), strText:=TextBox6.Text) 'Zeile
Call prcZahlinZelle(rngZelle:=.Cells(lZeile, 7), strText:=TextBox7.Text) ' _
Priorität
.Cells(lZeile, 8).Value = TextBox8.Text
.Cells(lZeile, 9).Value = TextBox9.Text
.Cells(lZeile, 10).Value = TextBox10.Text
.Cells(lZeile, 11).Value = TextBox11.Text
.Cells(lZeile, 12) = IIf(Me.CheckBox1.Value = True, 1, "")
Call BlattschutzEIN(wksZiel)
If ListBox1.Text Trim(CStr(TextBox1.Text)) Then
varID = Trim(CStr(TextBox1.Text))
Call prcListbox1_Auswahlliste
If ListBox1.ListCount > 0 Then ListBox1.Value = varID
End If
End If
End With 'wksZiel
End Sub