ich habe ein Problem mit dem RANGE:
In einer Tabelle möchte ich eine Such-Funktion für die Suche in 2 unterschiedlichen Spalten, aber gleichem Zeilenbereich verwenden.
Dazu möchte ich die "subFindValue" mit verschiedenen Argumenten aufrufen und damit auch verschiedene Range-Bereiche an die
Such-Funktion übergeben.
Ich bekomme es einfach nicht gebacken, die Range-Bereiche in eine Variable zu packen, die dann in folgender Funktion ausgeführt wird.
Set c = Worksheets(4).Range(<b>RgSuch</b>).Find(Range(<b>RgStart </b>& i), After:=Range(<b>RgStart </b>& 6), _
LookIn:=xlValues, LookAt:=xlWhole)~f~
Folgender Code-Snippet:
~f~<pre>Sub FindValue(What)
Dim c As Range
Dim FirstAddress As String
Dim RgStart As String 'Suchspalte
Dim RgSuch As Range
Select Case What
Case "HN" 'Hausnummer
' RgStart = "B"
Set RgSuch = Range("B1:B72")
Case "ETN" 'ET-Nummer
RgStart = "C"
Set RgSuch = Worksheets(4).Range("C1:C72")
End Select
Set c = Worksheets(4).Range(<b>RgSuch</b>).Find(Range(RgStart & i), After:=Range(RgStart & 6), _
LookIn:=xlValues, LookAt:=xlWhole)
....
....
'Der Rest der Funktion ist für mein Problem weniger wichtig.
End Sub</pre>
Die Variable "RgStart" funktioniert. Die Variable "RgSuch" funktioniert nicht.
Ersetze ich diese in der Formel durch den Originalwert ("B1:B72") oder ("C1:C72"), dann läuft alles wie gewünscht.
Ich habe alle möglichen Varianten der Variablen ausprobiert, mit und ohne Set ..., in Cells(... aufgeteilt usw. und jede Menge gegoogelt.
Nix hat gepasst. Hat von Euch jemand einen Tip, wie es gehen könnte?
Danke PeterO