16.12.2021, 22:08
Guten Abend zusammen,
habe eine UserForm welche ich gerne in einer If-Bedingung aufrufen möchte - hier der Code:
Ich habe im Schritt vorher schon ein UserForm (frmÜbungHinzufügen), welches dann bei Klick auf einen Button ein Suchereignis auslöst. Wenn der gesuchte String nicht vorhanden ist, sollen die Schritte ab "ElseIf" durchgelaufen werden. Wenn ich nun Schritt für Schritt durchgehe, kommt an der Show-Stelle (frmNeueGewichteHinzufügen.Show) der Fehler: Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht definiert.
An und für sich ist der Fehler klar, aber ich habe ja weder die UserForm nicht als Variable deklariert noch habe ich eine With-Anweisung hier drin...hat jemand eine Idee wie ich den Fehler lösen kann? Per se läuft das Makro nämlich perfekt, nur den Fehler wirft er aus obwohl eigentlich alles passen müsste...
Danke euch und schönen Abend,
Domi
habe eine UserForm welche ich gerne in einer If-Bedingung aufrufen möchte - hier der Code:
Code:
Private Sub cmdEintragen_Click()
Dim lastZeile As Long
Dim Gefunden As Range
Dim lastSpalte As Long
Dim Rng As Range
lastZeile = Tabelle10.Cells(Rows.Count, 2).End(xlUp).Row + 1 'Sucht die nächstfreie Zeile in Tabelle10
Set Gefunden = Tabelle15.Range("1:1").Find(frmÜbungHinzufügen.cboWiderstand.Value, , xlValues, xlWhole) 'Sucht nach dem Wert welcher beim Hinzufügen der Übung eingegeben wurde.
lastSpalte = Tabelle15.Cells(1, Columns.Count).End(xlToLeft).Column + 1
Set Rng = Tabelle15.Cells(1, lastSpalte).Resize(2, lastSpalte)
'Trägt die Eingaben in die nächst-freie Zeile ein
With Tabelle10
.Cells(lastZeile, 2).Value = frmÜbungHinzufügen.txtÜbungsname.Value
.Cells(lastZeile, 3).Value = frmÜbungHinzufügen.cboWiderstand.Value
.Cells(lastZeile, 4).Value = frmÜbungHinzufügen.cboZusatzequipment.Value
End With
'Wenn der eingegebene Widerstand nicht gefunden wird, wird er automatisch in die Datenbank eingetragen
If frmÜbungHinzufügen.cboWiderstand.Text = "Körpergewicht" Then
Unload frmÜbungHinzufügen
ElseIf Gefunden Is Nothing Then
MsgBox "Der eingegebene Widerstand ist noch nicht in der Gewichts-Datenbank vorhanden und wird dort automatisch hinzugefügt.", vbInformation + vbOKOnly, "Widerstand nicht vorhanden!"
Tabelle15.Activate
Application.CutCopyMode = False
Tabelle15.ListObjects.Add(xlSrcRange, Cells(1, lastSpalte), , xlYes).Name = "TabelleNeu" 'Benennt die Tabelle anfangs in "TabelleNeu"
Range("TabelleNeu[[#All],[Spalte1]]").Select 'Markiert die gesamte neue Tabelle
ActiveSheet.ListObjects("TabelleNeu").TableStyle = "Gewichts-Tabelle" 'Setzt den Tabellenstil auf Header: gelb
Range("TabelleNeu[[#Headers],[Spalte1]]").Select
ActiveCell.FormulaR1C1 = frmÜbungHinzufügen.cboWiderstand.Value 'Beschreibt den Header der Tabelle mit dem Namen des Widerstands
frmNeueGewichteHinzufügen.Show
End If
End Sub
Ich habe im Schritt vorher schon ein UserForm (frmÜbungHinzufügen), welches dann bei Klick auf einen Button ein Suchereignis auslöst. Wenn der gesuchte String nicht vorhanden ist, sollen die Schritte ab "ElseIf" durchgelaufen werden. Wenn ich nun Schritt für Schritt durchgehe, kommt an der Show-Stelle (frmNeueGewichteHinzufügen.Show) der Fehler: Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht definiert.
An und für sich ist der Fehler klar, aber ich habe ja weder die UserForm nicht als Variable deklariert noch habe ich eine With-Anweisung hier drin...hat jemand eine Idee wie ich den Fehler lösen kann? Per se läuft das Makro nämlich perfekt, nur den Fehler wirft er aus obwohl eigentlich alles passen müsste...
Danke euch und schönen Abend,
Domi