Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

Variable für RANGE anwenden

Variable für RANGE anwenden
25.04.2021 03:34:36
PeterO
Hallo Gemeinde,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable für RANGE anwenden
25.04.2021 08:55:37
Hajo_Zi
Set c =RgSuch.Find(Range(RgStart & i), After:=Range(RgStart & 6), _...

AW: Variable für RANGE anwenden
25.04.2021 09:55:03
GerdL
Moin,
das Argument "After:=" muss im Bereich liegen. Alles außer Suchbegriff ist vom Variablentyp Range.
Set Ergebniszelle = Bereich.Find(Suchbegriff, After:= EineZelleimBereich, lookat:=xlWhole, lookin:=xlValues)
Gruß Gerd
AW: Variable für RANGE anwenden
25.04.2021 17:49:11
Peter
Hallo GerdL und Hajo_Zi,
danke Euch beiden. Hat beides geholfen, weil im Prinzip 2 Macken im Code waren:
1.

After muss im Bereich liegen
. In der EXCEL-Hilfe habe ich die Erläuterung

Gibt die Zelle an, nach der mit der Suche begonnen werden soll...
so verstanden, dass, wenn ich im
Bereich C7:C72 suchen will, in Zelle C6 starten muss. "AFTER" heißt doch eigentlich "nach", oder? Ich hätte eben die Erläuterung
komplett und intensiv lesen sollen, :-(.
2. Hajo - stimmt: In RgSuch steckt ja durch "Set =..." schon alles drin (Worksheets(4)..Range("c7:c72")). Also brauchts in der Formel nicht noch mal aufgeführt zu werden.
Danke noch mal
PeterO
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige