Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

cell.find 91 Objektvariable Withvariable

Forumthread: cell.find 91 Objektvariable Withvariable

cell.find 91 Objektvariable Withvariable
02.11.2005 16:31:40
Hartmut_M
Hallo, habe folgendes Problem. Möchte 2 Tabellen mitweinander vergleichen, d. h. prüfen, ob der Wert einer Tabelle in der anderen enthalten ist. Bei ja die Zelle grün färben, bei nein rot.
Mit dem nachfolgenden Code funktioniert es bis etwa zur 5 Abfrage, dann kommt der Fehlerhinweis: 91 Objektvariable oder With-Blockvariable nicht festgelegt.
Ich fionde alelrdings keinen Fhler in meinem Code. Verwunderlich ist auch, dass die ersten Suchläufe durchgehen. Kann mir bitte jemand weiterhelfen?
Gruß Hartmut

Sub vergleichen()
On Error GoTo fehler
Dim kreditor As Variant
Sheets("i-nadis").Select
Range("C3").Select
10:
kreditor = ActiveCell.Value
If kreditor = "" Then Exit Sub
Sheets("Handwerker").Select
Range("B2").Select
Cells.Find(What:=kreditor, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Activate
Sheets("i-nadis").Select
Selection.Interior.ColorIndex = 4
20:
ActiveCell.Offset(1, 0).Activate
GoTo 10
fehler:
Sheets("i-nadis").Select
Selection.Interior.ColorIndex = 3
GoTo 20
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: cell.find 91 Objektvariable Withvariable
02.11.2005 17:06:02
Nepumuk
Hallo Hartmut,
das kommt daher, dass du eine Methode auf ein nicht vorhandenes Objekt anwenden willst. Das passiert immer dann, wenn du einen nicht vorhandenen Begriff suchst. Versuch es mal so:
Sub vergleichen()
    Dim lngRow As Long
    Dim objRange As Range
    Application.ScreenUpdating = False
    With Worksheets("i-nadis")
        For lngRow = 1 To .Cells(.Rows.Count, 3).End(xlUp).Row
            Set objRange = Worksheets("Handwerker").Cells.Find( _
                What:=.Cells(lngRow, 3).Value, LookIn:=xlValues, LookAt:=xlPart)
            .Cells(lngRow, 3).Interior.ColorIndex = IIf(Not objRange Is Nothing, 4, 3)
        Next
    End With
    Set objRange = Nothing
    Application.ScreenUpdating = True
End Sub

Gruß
Nepumuk

Anzeige
AW: cell.find 91 Objektvariable Withvariable
02.11.2005 17:15:34
Hartmut_M
Hallo Nepomuk,
mit Deinem Code funktioniert es einwandfrei. Vielen Dank für die schnelle Hilfe.
In der i-nadis Tabelle habe ich alelrdings den ersten Wert erst in der 3. Zeile. Was muss ich abändern, damit erst ab dieser Zeile verglichen wird?
Weiterhin dachte ich, dass bei nicht vorhandenem Vergleichswort die Sprungmarke "fehler" ausreicht. Bei dem ersten nicht vorhandenem Wort funktionierte es auch. Wieso nicht bei dem zweiten? Vielleicht kannst Du mir ja noch auf die Spünge helfen.
Nochmals vielen Dank.
Gruß Hartmut
Anzeige
AW: cell.find 91 Objektvariable Withvariable
02.11.2005 17:22:55
Nepumuk
Hallo Hartmut,
1. Ändere die Zeile:
For lngRow = 1 To .Cells ..........
in
For lngRow = 3 To .Cells ...........
2. Du arbeitest den Fehler in keiner Fehlerbehandlungsroutine ab. Wenn nach einem nichtbehandelten Fehler ein weiterer Fehler auftritt, kann dieser nicht verarbeitet werden. Lies mal die Hilfe zu: "On Error-Anweisung" Da ist es (meiner Meinung nach) ziemlich gut beschrieben.
Gruß
Nepumuk

Anzeige
OK - vielen Dank! ;-) o.T.
02.11.2005 17:27:33
Hartmut_M
...
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige