Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
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
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige