Hallo an alle,
ich habe da ein kleines Problem mit der Überprüfung ob in allen Textboxen und Comboboxen Werte eingetragen wurden oder nicht, bevor die Daten in eine Tabelle geschrieben werden und die UserForm geschlossen wird. Ich benutze da folgenden Code, aber der funktioniert nicht. Leider weis ich nicht mehr wo ich ihn her hab. Kann einer vieleicht erkennen was da falsch ist und warum?
Code:
Private Sub cmdBeenden_Click()
For Each ctl In Me.Controls
If ctl.Tag = „X“ Then
If Len(ctl) = 0 Then
MsgBox „Bitte füllen Sie alle Felder aus“ & vbCrLf & „Wenn Wngabe nicht möglich, dann 0“, vbOKOnly, „Fehler bei der Eingabe!“
ctl.SetFocus
Exit Sub
End If
End If
Next ctl
With Tabelle1
With .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
.Value = RaumName.Value
.Offset(, 1).Value = BezeichnungLMAlt.Value
.Offset(, 2).Value = CDbl(WattLMAlt.Value)
.Offset(, 3).Value = CDbl(AnzahlLMAlt.Value)
.Offset(, 4).Value = TypVGAlt.Value
.Offset(, 5).Value = CDbl(WattLampeAlt.Value)
.Offset(, 6).Value = CDbl(AnzahlLampeAlt.Value)
.Offset(, 7).Value = CDbl(LebensdauerLMAlt.Value)
.Offset(, 8).Value = CDbl(PreisLMAlt.Value)
.Offset(, 9).Value = CDbl(AnzahlStarterAlt.Value)
.Offset(, 10).Value = CDbl(PreisStarterAlt.Value)
.Offset(, 11).Value = CDbl(Betriebsstunden.Value)
.Offset(, 12).Value = CDbl(Betriebstage.Value)
.Offset(, 13).Value = CDbl(WechselLMAlt.Value)
.Offset(, 14).Value = CDbl(WechselVGAlt.Value)
.Offset(, 15).Value = CDbl(TauschLampe.Value)
.Offset(, 16).Value = RaumKalt.Value
.Offset(, 17).Value = CDbl(RaumTemp.Value)
.Offset(, 18).Value = TSensorAlt.Value
.Offset(, 19).Value = BMelderAlt.Value
.Offset(, 20).Value = CDbl(BMelderAltZeit.Value)
.Offset(, 21).Value = DimmAlt.Value
.Offset(, 22).Value = CDbl(KostenHMAlt.Value)
.Offset(, 23).Value = VGWechsel.Value
.Offset(, 75).Value = Datum.Value
.Offset(, 76).Value = Bearbeiter.Value
End With
Sheets(„Tabelle1“).Activate
End With
'Wechselt zur Tabelle "Programm und schließt die Userform
Sheets(„Programm“).Activate
Unload Me
End Sub