Laufzeitfehler 91: Objektblockvariable oder With-Blockvariable nicht festgelegt

  • Sonstige

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Getier.

    Laufzeitfehler 91: Objektblockvariable oder With-Blockvariable nicht festgelegt

    Sehr geehrte Community

    Bei der Erstellung einer UserForm bin ich leider auf ein Problem gestossen welches ich trotz mehrstündiger recherche noch nicht beheben konnte.
    Ich möchte eine UserForm erstellen mit einer Combobox, einer Textbox und einem Button. In der Combobox wird der Name gewählt, in der TextBox wird dann das Datum eingegeben und mit dem Klick auf den Button soll dann eine bestimmte Zelle im Worksheet selektiert werden so das der User
    die Zelle welche beide bedingungen erfüllt nicht manuell suchen muss.
    Mein Problem entstand bei der Programmierung des Buttons und zwar wird mir andauernd der Laufzeitfehler 91(Beschreibung in Überschrift)
    angezeigt. Leider entzieht sich das Problem meinem Wissensstand und ich hoffe Ihr könnt mir dabei behilflich sein.
    Hier der Code des Buttons:

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim SCell As Range
    3. Dim Name As String
    4. Dim Da As String
    5. Name = ComboBox1.Value
    6. Dat = TextBox1.Value
    7. Dim ws As Worksheet
    8. Set ws = Worksheets("Monthly Data")
    9. SCell = ws.Range("6:6").Find(Name).Offset(0, -1).Find(Dat).Offset(0, 4)
    10. SCell.Select
    11. End Sub


    Vielen Dank und Freundliche Grüsse
    Getier
    Willkommen im Forum. :thumbup:

    Getier schrieb:

    Mein Problem entstand bei der Programmierung des Buttons und zwar wird mir andauernd der Laufzeitfehler 91
    Ich sehe leider in Deinem Code nichts, was auf die Existenz eines Buttons schließen lässt, die Buchstabenfolge "Button" im Prozedurnamen CommandButton1_Click ist da nicht ganz relevant.
    Gib bitte genau die Zeile an, bei der der Fehler auftritt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo zusammen

    Der Fehler liegt irgendwo in Zeile 11 (SCell = .....). Name=Combobox1.Value entspricht einem String (z.B. "Robert).
    Dat=Textbox1.Value wird in die Textbox in folgender Form eingegeben:z.B. 01.12 und soll ebenfalls einem String entsprechen um die
    Finden Funktion zu nutzen. Ich hoffe diese Informationen helfen euch zu Lösung des Problems weiter.

    Vielen Dank
    Getier
    Vielen Dank für die Hilfe

    Ich musste meinen Code ein bisschen umschreiben damits funktioniert hat. Das Problem beim 1. Anlauf hab ich leider nicht in den Griff bekommen.
    Hier der Funktionsfähige Quellcode:

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim strString As String
    3. Dim InpDate As Date
    4. Dim rngCell As Range
    5. Dim ws As Worksheet
    6. Set ws = Worksheets("Monthly Data")
    7. strString = ComboBox1.Value
    8. InpDate = TextBox1.Value
    9. Set rngCell = Rows(7).Find(strString, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
    10. If Not rngCell Is Nothing Then
    11. y = rngCell.Offset(0, -1).Column
    12. Else
    13. MsgBox "Name not Found"
    14. End If
    15. Set rngCell = Columns(y).Find(InpDate, lookat:=xlWhole, LookIn:=xlValues, MatchCase:=True)
    16. If Not rngCell Is Nothing Then
    17. x = rngCell.Row
    18. Else
    19. MsgBox "No Date"
    20. End If
    21. Cells(x, y + 4).Select
    22. End Sub


    Freundliche Grüsse
    Getier