Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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-Objektvar. oder With-Blockvar.

Laufzeitfehler 91-Objektvar. oder With-Blockvar.
16.12.2018 19:24:47
STeve
Guten Abend an alle..... Bitte um Hilfe. Versuche einen Code von Fennek zu ändern und zwar
in der Do/While-Schleife von Spalte 4 soll eine weitere Do/While-Schleife in Zeile 16 laufen........aber ich denke es hängt mit der With Anweisung zusammen, dass
Set rng = .FindNext(rng)
immer Nothing ist?
Meldung: Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt
Bitte um eure Hilfe. Danke und mfg STeve
Sub F1_en()
Dim rng As Range
Dim LC As Range
Set LC = ActiveSheet.UsedRange.SpecialCells(11)
With Columns(4)
Set rng = .Find("Endzeit", , xlValues, xlWhole)
Anf = rng.Address
Do
With Rows(16)
Set Fr = .Find("Fr", , xlValues, xlWhole)
SuchedieWochenenden = Fr.Address
Do
Set Fr = .FindNext(Fr)
Loop Until SuchedieWochenenden = Fr.Address
End With
Set rng = .FindNext(rng)      'hier ist rng immer Nothing
Loop Until Anf = rng.Address
End With
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 91-Objektvar. oder With-Blockvar.
16.12.2018 20:04:29
Nepumuk
Hallo STeve,
so kannst du die Find-Methode nicht verschachteln. FindNext ist immer abhängig vom Find. Da du nach dem ersten Anwenden der Methode eine zweite einschiebst ist die erste zerstört. Sprich du musst das ganze so aufbauen:
Option Explicit

Public Sub F1_en()
    Dim rng As Range, LC As Range, Fr As Range
    Dim Anf As String, SuchedieWochenenden As String
    
    Set LC = ActiveSheet.UsedRange.SpecialCells(11)
    
    With Columns(4)
        Set rng = .Find("Endzeit", , xlValues, xlWhole)
        Anf = rng.Address
        Do
            With Rows(16)
                Set Fr = .Find("Fr", , xlValues, xlWhole)
                SuchedieWochenenden = Fr.Address
                Do
                    
                    Set Fr = .FindNext(Fr)
                Loop Until SuchedieWochenenden = Fr.Address
            End With
            
            Set rng = .Find("Endzeit", rng, xlValues, xlWhole)
        Loop Until Anf = rng.Address
    End With
End Sub

Gruß
Nepumuk
Anzeige
Danke Nepumuk...gelöst
16.12.2018 20:29:19
STeve
Guten Abend Nepumuk......Tausend Dank für deine sooo schnelle und perfekte Antwort.
War schon am verzweifeln :-(...
Dank deiner Lösung funzt es jetzt.
Dir noch schönen Sonntag und schöne Adventzeit.
mfg STeve

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige