Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Laufzeitfehler 91 in Range/Find Prozedur
06.07.2022 12:41:59 Lee
NotSolved
06.07.2022 12:45:33 Gast71608
NotSolved
06.07.2022 13:02:54 Mase
NotSolved
06.07.2022 14:22:47 Gast76562
NotSolved

Ansicht des Beitrags:
Von:
Lee
Datum:
06.07.2022 12:41:59
Views:
751
Rating: Antwort:
  Ja
Thema:
VBA Laufzeitfehler 91 in Range/Find Prozedur
Hallo zusammen,

auch nach vielem Googlen und umschreiben und umdeklarieren und Error abfragen etc. komme ich nicht zum gewünschten Ziel. Ich habe eine Datenbank für Aufgaben erstellt in denen man Aufgaben mit folgenden Informationen füttern kann:

 

 

 

Über drei Buttons hinter denen Makros stehen kann man Aufgaben neu erstellen, bestehende Aufgaben bearbeiten oder Aufgaben löschen.

Mein problem entsteht bei den projektnummer, welche bei uns aus 4 Ziffern bestehen. Diese habe ich mit dem SOnderformat #### so formatiert, das eine 4 oder eine 50 als 0004 oder 0050 angezeigt wird. Wenn ich nun eine Aufgabe bearbeiten möchte mit einer Projektnummer mit eben einer 50 oder 4 bearbeiten möchte und diese dann speichere entsteht der Laufzeitfehler 91, da anscheinend bei der range und find prozedur die Zeile = 0 ist. Diese ist aber streng genommen nicht 0. Der Code sieht wie folgt aus.

Sub AufgabeChange_EingabeDB()

Call DB_unprotected
Call Eingabe_unprotected



'Tabelle einlesen
Dim tbl As ListObject
Set tbl = tb_Datenbank.ListObjects(1)

Dim Zeile_1 As Long




'Prüfen ob Lesen oder bearbeiten

    If tb_Eingabeformular.Shapes.Range(Array("txt_anlegen", "img_anlegen")).Visible = True Then
        'Aufgabe erstellen
        
            'Zeile hinzufügen
                tbl.ListRows.Add
                
                'Zeile in Variable speichern
                Zeile_1 = tbl.DataBodyRange.Rows.Count
               
       
    'Aufgabe bearbeiten
    Else
            
            Zeile_1 = Range("Tabelle1[Projektnummer]").Find(What:=tb_Eingabeformular.Range("D12").Value, LookIn:=xlValues, LookAt:=xlWhole).Row - tbl.HeaderRowRange.Row
         
    End If
    
    'Datenbank füllen
    
        With tb_Eingabeformular
        
            tbl.DataBodyRange(Zeile_1, 1).Value = .Range("D12")           'Einfügen der Projektnummer in die Datenbank
            tbl.DataBodyRange(Zeile_1, 2).Value = .Range("E18")           'Einfügen der Projektnamens in die Datenbank
            tbl.DataBodyRange(Zeile_1, 3).Value = .Range("E20")           'Einfügen der Aufgabensteller in die Datenbank
            tbl.DataBodyRange(Zeile_1, 4).Value = .Range("E22")           'Einfügen der Tätigkeit in die Datenbank
            tbl.DataBodyRange(Zeile_1, 5).Value = .Range("L18")           'Einfügen des bevorzugten Bearbeiters in die Datenbank
            tbl.DataBodyRange(Zeile_1, 6).Value = .Range("L20")           'Einfügen der geschätzten Bearbeitungszeit in die Datenbank
            tbl.DataBodyRange(Zeile_1, 7).Value = .Range("L22")           'Einfügen der Fälligkeit in die Datenbank
            
            
        End With
        
Call DB_protect
Call Eingabe_protect
        
        'Navigieren zu dem neuen Eintrag in der Datenbank
        
        tb_Datenbank.Select
        ActiveWindow.ScrollRow = tbl.DataBodyRange(Zeile_1, 1).Row
        tbl.DataBodyRange(Zeile_1, 1).Select
        
        
    



End Sub

In der organgen Zeile entsteht der Fehler. Ich verstehe nur nicht genau wieso er entsteht. Ich vertsehe, dass eine deklaration fehlt. Aber Zeile_1 habe ich am Anfang deklariert udn auch wenn ich versuche über set ein Objekt zu erstellen, erzeuge ich nur andere Fehler. Vielleicht könnt ihr mir auf die Sprünge helfen. 

 

Vielen Dank fürs Lesen und einen schönen Tag noch,

 

Lee

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Laufzeitfehler 91 in Range/Find Prozedur
06.07.2022 12:41:59 Lee
NotSolved
06.07.2022 12:45:33 Gast71608
NotSolved
06.07.2022 13:02:54 Mase
NotSolved
06.07.2022 14:22:47 Gast76562
NotSolved