Forums Neueste Beiträge
 

Frage zur FIND MEtode in Bezug auf Range-Objekt

21/11/2007 - 17:09 von Jascha Lendeckel | Report spam
Hallo NG,

Welchen Wert braucht die Optionalen Variable AFTER der FIND Methode?

Beispiel:

With Workbooks("Projekte.XLS").Worksheets(1)
Set Spalte1 = .Range("C:C").Find(Projektnr, LookIn:=xlValues)
If Not Spalte1 Is Nothing Then
If Projektindex <> "" Then
Set spalte2 = .Range("D:D").Find(Projektindex,
After:=XXXX LookIn:=xlValues)
If Not spalte2 Is Nothing And .Range("C" +
Trim(Str(spalte2.Row))).Text = Projektnr Then Spalte = spalte2.Row
Else
Spalte = Spalte1.Row
End If
End If
End With

Die Funktion soll erst in Spalte C nach einer Nummer suchen und dann
in Spalte D nach einem 2. Wert. Die Tabelle ist natürlich nach diesen
beiden Spalten sortiert.
Ich habe es sowohl mit XXXX = Spalte1 als auch mit XXXX = Spalte1.row
probiert, beides ergibt einen Typenconflikt. Welchen Wert muß AFTER haben?

Gruß

Jascha Lendeckel

Versuche nicht, ein erfolgreicher, sondern ein wertvoller Mensch zu
werden.

Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.

[Albert Einstein]
 

Lesen sie die antworten

#1 Melanie Breden
21/11/2007 - 18:18 | Warnen spam
Hallo Jascha,

"Jascha Lendeckel" schrieb:
Welchen Wert braucht die Optionalen Variable AFTER der FIND Methode?

Beispiel:

With Workbooks("Projekte.XLS").Worksheets(1)
Set Spalte1 = .Range("C:C").Find(Projektnr, LookIn:=xlValues)
If Not Spalte1 Is Nothing Then
If Projektindex <> "" Then
Set spalte2 = .Range("D:D").Find(Projektindex, After:=XXXX LookIn:=xlValues)
If Not spalte2 Is Nothing And .Range("C" + Trim(Str(spalte2.Row))).Text =
Projektnr Then Spalte = spalte2.Row
Else
Spalte = Spalte1.Row
End If
End If
End With

Die Funktion soll erst in Spalte C nach einer Nummer suchen und dann in Spalte D nach einem 2.
Wert. Die Tabelle ist natürlich nach diesen beiden Spalten sortiert.
Ich habe es sowohl mit XXXX = Spalte1 als auch mit XXXX = Spalte1.row probiert, beides ergibt
einen Typenconflikt. Welchen Wert muß AFTER haben?



ich gehe davon aus, dass Spalte1 als Range deklariert ist.

After erwartet eine einzelne Zelle im angegebenen Suchbereich.
Da sich spalte1 aber auf Spalte C bezieht, und du in Spalte D suchst,
muss der Bezug versetzt werden.

Versuchs mal so:

Set spalte2 = .Range("D:D").Find(Projektindex, After:=Spalte1.Offset(0, 1), LookIn:=xlValues)


Mit freundlichen Grüssen
Melanie Breden

- Microsoft MVP für Excel -
www.melanie-breden.de

Ähnliche fragen