Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 91:

Laufzeitfehler 91:
17.05.2021 23:56:25
Siegfried
Hallo Helferleins,
bekomme mit nachstehendem Makro, habe da inzwischen an die 10 verschieden Muster, welche ich im WEB gefunden habe, versucht.
Immer das gleiche mit der Laufzeitfehler-Meldung 91 und finde leider dessen Ursache nicht.
Habe dann im WEB nach Erklärungen für „Objektvariable“ bzw. „With-Blockvariable“ gesucht, viel darüber gelesen aber, wahrscheinlich dazu zu wenig verstanden um die Lösung zu finden.
Wer kann mir da bitte weiterhelfen, oder eine andere Lösung dieser Datumssuche in zwei Zeilen erklären?
DANKE LG Siegfried
  • 
    Sub BuchTag_NEU()
    Dim Abfr1, Abfr2 As Variant
    Dim SuchDatum As Date
    Beep
    Abfr1 = MsgBox("Ersten Buchungstag " & vbLf & vbLf & "( " & Sheets("Aufzeichnung").Range("C1") & " ) " & vbLf & vbLf & " NEU festlegen JA / Nein ? ", vbYesNo, "Abfrage zur Durchführung")
    If Abfr1 = 6 Then       ' ist JA
    Sheets("Wochenkalender").Select
    SuchDatum = "01.01." & Range("I1")
    Range("D5:J6").Select  ' ehemals j5
    Selection.Find(What:=(SuchDatum), After:=ActiveCell, LookIn:=xlFormulas _
    , LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False).Activate
    ActiveCell.Select               ' gef Zeile des Datum 01.01 & GJ gefunden
    InhaltTxt = ActiveCell.Text
    Range("A4").Value = InhaltTxt
    Application.Calculate
    End If
    End Sub
    

  • Userbild
    Userbild

    14
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 00:14:38
    Yal
    Hallo Siegfried,
    wo befindet sich dein Code?
    Es gibt verschiedene Möglichkeiten, aber Erklärung mit nur 2:
    entweder ist der Code in einem Modul oder in eine Worksheet-Codepane.
    Im Modul muss Du dann stets angeben, in welche Tabelle eine Adresse sich bezieht. Range("D5:J6") ist nicht ausreichend. Auch wenn Du nur eine Tabelle in deinem Excel hättest.
    In einem Worksheet-Codepane bezieht sich eine solche Range("D5:J6") immer auf die Worksheet von dem Codepane, wo Du dich befindest. Auch wenn Du vorher einen Worksheet("xx").Select, um eine andere Sheet zu selektieren, eingegeben hast.
    In deinem MsgBox ist es sauber: Sheets("Aufzeichnung").Range("C1")
    Sauberer ist es auch, das Ergebnis einer Suche an einem Range-Objekt zu übergeben, um dann zu prüfen, ob ein Treffer gefunden wurde:
    
    If Not Ergebnis is Nothing Then 
    
    Das gesamste sieht dann so aus:
    
    Sub BuchTag_NEU()
    Dim Abfr1, Abfr2
    Dim SuchDatum As Date
    Dim Ergebnis As Range
    Beep
    Abfr1 = MsgBox("Ersten Buchungstag " & vbLf & vbLf & "( " & Sheets("Aufzeichnung").Range("C1") & " ) " & vbLf & vbLf & " NEU festlegen JA / Nein ? ", vbYesNo, "Abfrage zur Durchführung")
    If Abfr1 = 6 Then       ' ist JA
    With Sheets("Wochenkalender")
    SuchDatum = "01.01." & .Range("I1")
    Set Ergebnis = .Range("D5:J6").Find(What:=(SuchDatum), After:=ActiveCell, _
    LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, MatchCase:=False)
    If Not Ergebnis Is Nothing Then
    .Range("A4").Value = Ergebnis.Text
    Application.Calculate
    End If
    End With
    End If
    End Sub
    
    VG
    Yal
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 10:56:19
    Siegfried
    Hallo YAL!
    Hatte gestern gerad mein System runtergefahren, als ich am Handy sah, das du bereits geantwortet hast, konnte mich für ein neuerliches Hochfahren aber nicht mehr durchringen, sorry.
    Nun habe mir das eben zu Gemüte geführt, ja mit deiner Anpassung ist die Fehlermeldung „91“ mal weg, das zu suchende Datum OK, nur gefunden hat er es auch nicht, warum verstehe ich nicht.
    Um deine restlichen Fragen und das nun neue Problem darzustellen anbei Bilder davon.
    Für GerdL, werde mal versuchen diesen „Wochenkalender“ aus der gesamten Mappe herauszunehmen, kann mir aber nicht vorstellen das die was hilft?
    LG Siegfried
    Userbild
    Userbild
    Userbild
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 11:36:31
    Yal
    Hallo Siegfried,
    Datum sind eigentlich Zahlen: vor der Komma, die Tage, danach die Uhrzeit.
    Schau im Bereich D5:J6. Wenn Du ein Datum mit einem Zahlen-Format verpasst, siehst Du 44334 (entspricht heute 18.05.2021). Gestern -1, morgen +1.
    Du muss deine Such-Objekt dementsprechend einstellen:
    
    Jahr = Sheets("Wochenkalender").Range("I1")
    SuchDatum = DateSerial(Jahr, 1, 1)
    
    VG
    Yal
    AW: Laufzeitfehler 91:
    18.05.2021 12:39:15
    Siegfried
    Hallo YAL,
    ich habe deine Bildung des Datums übernommen, kommt außerdem das gleiche heraus wie bei der vorhergehenden Art, dafür jetzt eine neue Fehlermeldung „13“, siehe Bild.
    Was ist da jetzt die Ursache?
    LG Siegfried
    Userbild
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 12:48:31
    Yal
    Ändere
    After:=ActiveCell
    in
    After:=.Range("D5")
    Den Punkt vor dem "Range" nicht vergessen.
    Oder mach diesen "After" komplett weg.
    VG
    Yal
    AW: Laufzeitfehler 91:
    18.05.2021 13:02:26
    Siegfried
    Mein lieber YAL,
    egal ob mit After:=.Range("D5") oder überhaupt das After komplett weg genommen, ist der Wert von Ergebnis "Nothing", dafür aber keine Fehlermeldung.
    LG Siegfried
    AW: Laufzeitfehler 91:
    18.05.2021 13:43:15
    Yal
    Hallo Siegfried,
    dass es keine Fehlermeldung gibt ist logisch: wir suchen und ordnen das Ergebnis der Variable zu. Ist diese Variable "leer" ("Nothing", das wir anschliessend mit dem If auswerten), bedeutet es, dass zu dem gesuchten Begriff kein Treffer vorhanden ist.
    Also müssen wir prüfen, warum nichts gefunden wurde: wir geben eine Datum, das es zu finden gibt. Sind die Daten, wo es gesucht wird, auch Datum?
    VG
    yal
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 08:25:22
    GerdL
    Moin Siegfried,
    lade bitte deine Wochenkalender-Tabelle in einer Exceldatei hoch. Der Screenshot hilft hier nicht.
    Gruß Gerd
    AW: Laufzeitfehler 91:
    18.05.2021 13:47:54
    Siegfried
    Hallo Gerd & YAL
    anbei das Tabellenblatt "Wochenklender", beim Öffnen die Verknüpfung nicht bestätigen, brachte sie leider nicht weg.
    Hoffe es bringt Licht ins dunkel!!!
    LG Siegfried
    https://www.herber.de/bbs/user/146254.xlsm
    AW: Laufzeitfehler 91:
    18.05.2021 13:49:50
    Siegfried
    Habe leider vergessen die Email-Frage zu bestätigen
    AW: Laufzeitfehler 91:
    18.05.2021 14:51:53
    GerdL
    Moin Siegfried,
    die Wahrheit ist halt auf dem Platz! :-)
    Lookin: xlFormulas sucht in den Werten, es sei denn in den zu durchsuchenden Zellen, stehen wie bei dir, Formeln, dann in diesen.
    Ergo musst du einen kleinen Umweg gehen und in den Texten, also xlValues, suchen.
    
    Sub BuchTag_NEU()
    Dim Abfr1, Abfr2 As Variant
    Dim SuchDatum As Date
    Dim Zelle As Range
    GoTo Abkürzung
    Beep
    Abfr1 = MsgBox("Ersten Buchungstag " & vbLf & vbLf & "( " & Sheets("Aufzeichnung").Range("C1") & " ) " & vbLf & vbLf & " NEU festlegen JA / Nein ? ", vbYesNo, "Abfrage zur Durchführung")
    If Abfr1 = 6 Then       ' ist JA
    Abkürzung:
    Sheets("Wochenkalender").Select
    SuchDatum = "01.01." & Range("I1")
    'Range("D5:J6").Select  ' ehemals j5
    Set Zelle = Range("D5:J6").Find(What:=(SuchDatum), After:=Range("J6"), LookIn:=xlValues _
    , LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False)
    If Not Zelle Is Nothing Then
    Zelle.Select               ' gef Zeile des Datum 01.01 & GJ gefunden
    InhaltTxt = ActiveCell.Text
    Range("A4").Value = InhaltTxt
    Application.Calculate
    Else
    MsgBox "Suchdatum nicht gefunden!"
    End If
    End If
    End Sub
    
    Gruß Gerd
    Anzeige
    AW: Laufzeitfehler 91:
    18.05.2021 16:35:03
    Siegfried
    Hallo YAL,
    habe ich das richtig verstanden, mit der vorherigen Suche mit „LookIn:=xlFormulas“ hat er nichts
    gefunden da in meinen Zellen nicht das Datum als 01.01.2020 steht sondern als Formel, rechne zum vorhergehenden Datum-Wert einen Tag dazu „=D5+1“ und in einem solchen Fall muss die Suche auf „LookIn:=xlValues“ geändert werden?
    Man lernt nie aus!!!
    Ja jetzt funktioniert dies einmal, muss jetzt nur noch in anderen Tabellenblättern die Anpassung machen das er hier auch mit dem neuen Datum weiterarbeitet.
    Jedenfalls ein mehrfaches DANKE für alle Helferleins, hat also doch was genutzt den Wochenkalender hochzuladen.
    LG Siegfried
    Anzeige
    Vielen Dank, aber es war Gerd!
    18.05.2021 17:59:18
    Yal
    Nicht, dass ich unberechtigt den Lorbeer ernte für Lösung, die andere gegeben haben.
    Ich hatte zwar kurz diese xlFormula im blick und dann wieder abgelenkt...
    VG Yal
    AW: Vielen Dank, aber es war Gerd!
    18.05.2021 18:09:37
    Siegfried
    Mein lieber YAL, das macht doch nichts, das DANKE gebührt euch doch allen nicht nur jenem alleine der den letzten Ausschlag zum gelingen gab.
    Mit 77 und EDV spät berufenem ist es eben nicht mehr so einfach da überall den Durchblick zu haben.
    Ein Hinweis ergibt eben den anderen bis am Ende die Lösung vorhanden ist und genau das soll doch das Ziel sein!
    DANKE und LG Siegfried

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige