Find-Methode mit string bringt mich zur Verzweiflung

22/08/2012 - 13:29 von Thomas Hoffmann | Report spam
Tag,
ich suche in einer Tabelle alle Spalten mit einem bestimmten Eintrag ("Patienten") in
einer Zelle, um in dieser Spalte dann weitere Werte auszuwàhlen und operationen
durchzuführen. Aber die Find-Methoder versagt und ich weiß nicht wieso.

Function summeSpalte(suchStr$)
Dim ZelRa As Range, lastSpalte&, ii&, WorkRa As Range, FoundRa As Range

Set ZelRa = Application.Caller
lastSpalte = GetLastColumnInRow(ZelRa) 'liefert korrekten Wert

For ii = 2 To lastSpalte
Set WorkRa = ZelRa.Worksheet.Columns(ii)
Set FoundRa = WorkRa.Find(suchStr)
'so klappts auch nicht: 'egal was ich bei lookat nehme
'Set FoundRa = WorkRa.Find(what:=suchStr, LookIn:=xlValues, Lookat:=xlWhole)
'auch so nicht:
'Set FoundRa = ActiveSheet.UsedRange.Find(suchStr)
If FoundRa Is Nothing Then
Debug.Print WorkRa.Rows(4).Value, suchStr
End If
Next ii
.
.'usw
.
End Function

in der debug-Zeile wird schön mein "Patienten Patienten" ausgegeben, obwohl es vorher
nicht gefunden wurde. Bin hier am Verzweifeln. Ist das ein Bug oder was mach ich falsch?
 

Lesen sie die antworten

#1 Robert Feldmann
22/08/2012 - 22:09 | Warnen spam
Hallo Thomas,

habe das eben in Excel 2007 probiert.

Function summeSpalte(suchStr$)
Application.Volatile
Dim ZelRa As Range, lastSpalte&, ii&, WorkRa As Range, FoundRa As Range

Set ZelRa = Application.Caller
lastSpalte = 10 'der Einfachheit halber fest

For ii = 2 To lastSpalte
Set WorkRa = ZelRa.Worksheet.Columns(ii)
Set FoundRa = WorkRa.Find(suchStr)
If FoundRa Is Nothing Then
Else
summeSpalte = summeSpalte + FoundRa.Offset(0, 1)
End If
Next ii
End Function

Funktioniert bei mir problemlos. Es wird jeweils der Wert neben dem
gefundenen Begriff summiert. Ich schàtze es liegt nicht am Find.

Gruß
Robert

Nicht was Du sagst ist entscheidend, sondern was verstanden wird.

Am 22.08.2012 13:29, schrieb Thomas Hoffmann:
Tag,
ich suche in einer Tabelle alle Spalten mit einem bestimmten Eintrag
("Patienten") in einer Zelle, um in dieser Spalte dann weitere Werte
auszuwàhlen und operationen durchzuführen. Aber die Find-Methoder
versagt und ich weiß nicht wieso.



Nicht was Du sagst ist entscheidend, sondern was verstanden wird.

Ähnliche fragen