Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

Cells.Find klappt nicht, wo ist der Fehler?

Cells.Find klappt nicht, wo ist der Fehler?
Holger
Hallo,
ich möchte in einem bestimmten Range nach einem String suchen.
Leider kann ich das nur für eine fixe Zelle z.B A1 aber nicht innerhalb eines Ranges.
Da der String in der Tabelle oft vorkommen kann, darf die Suche nur innerhalb des Ranges erscheinen.
Hier mein Code bislang, wäre über Hilfe sehr dankbar.
Sub GetCurrentDeliveries()
Dim rngTable As Range
Dim lngCurPer, lngFrq As long
Dim strcurPeriod, strFrq As String
Set rngTable = Range("A6:Q18") -> nur hier will ich nach 2010-06 suchen!
strcurPeriod = Worksheets("Shipments").Range("B4").Value
strFrq = "12x"
Set rngCurPer = Cells.Find(What:="2010-06", lookat:=xlWhole) -> KLAPPT nutzt aber so NIX
lngCurPer = Cells.Find(What:="2010-06", After:=rngTable, _  -> Hier ist der Range angegeben! _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Wenn du .Find auf deinen bestimmten...
27.07.2010 09:39:37
Luc:-?
Range beziehen würdest, Holger,
würde das wohl auch klappen, allerdings solltest du alles beachten, was in der VBE-Hilfe steht! Das After hast du nämlich falsch benutzt. Hier solltest du die letzte Zelle des Range angeben, damit die Suche bei der ersten beginnt! Außerdem musst du noch eine Schleife mit FindNext einbauen, damit alle Texte gefunden wdn und nicht nur der erste! Also erst rngTable.Find(…), dann die Schleife. Steht alles in der Hilfe…!!!
Morn, Luc :-?
Danke, hier neuer Code
27.07.2010 10:04:21
Holger
Hallo,
die Hilfe hatte ich schon gelesen, aber wohl nicht richtig kapiert.
Jetzt habe ich es umgeschrieben ohne Schleife, da in dem Range jeder Wert nur einmal vorkommen kann.
Hier also der neue Code, die Find Methode stark vereinfacht, da ich meiner Meinung nach nicht mehr brauche. Schau mal hier, falls du einen Fehler oder Problem siehst, bitte ich um deine Meinung.
Sub GetCurrentDeliveries()
Dim rngTable As Range
Dim rngCurPer As Range
Dim rngCurFrq As Range
Dim strCurPeriod, strCurFrq As String
Set rngTable = Range("A6:Q18")
strCurPeriod = Worksheets("Shipments").Range("B4").Value
strCurFrq = "12x"
Set rngCurPer = rngTable.Find(What:=strCurPeriod, lookat:=xlWhole)
Set rngCurFrq = rngTable.Find(What:=strCurFrq, lookat:=xlWhole)
Cells(rngCurPer.Row, rngCurFrq.Column).Activate
Cells(rngCurPer.Row, rngCurFrq.Column).Select
End Sub

Anzeige
AW: Danke, hier neuer Code
27.07.2010 12:12:21
JogyB
Hallo Holger,
wieso nimmst Du hier sowohl Select als auch Activate? Die sind in dem Fall völlig äquivalent.
Gruß, Jogy
AW: Danke, hier neuer Code
27.07.2010 13:15:10
Holger
Hallo,
das war nur zum Testen.
Ich komme immer durcheinander, was der Unterschied zwischen Select und Activate ist,
wenn ich möchte, dass die Zelle so aktiviert ist wie wenn man mit der Maus draufklickt.
AW: Danke, hier neuer Code
27.07.2010 15:32:40
JogyB
Hallo Holger,
Select wählt grundsätzlich immer die angegebene Range aus.
Bei Activate kann man zwei Fälle unterscheiden (Hinweis: Eine einzelne Zelle ist auch ein Bereich!)
Fall 1: Die erste Zelle des Bereichs vor Activate liegt im gerade ausgewählten Bereich
Die erste Zelle des Bereichs vor Activate wird aktiviert, die Bereichsauswahl bleibt erhalten.
Fall 2: Die erste Zelle des Bereichs vor Activate liegt nicht im gerade ausgewählten Bereich
Der komplette Bereich vor Activate wird ausgewählt, die alte Bereichsauswahl ist also weg - verhält sich also in dem Fall wie Select.
Für eine einzelne markierte Zelle und eine einzelne Zelle vor Activate ergibt sich damit dasselbe Verhalten wie bei Select.
Gruß, Jogy
Anzeige
AW: Danke, hier neuer Code
27.07.2010 15:45:36
Holger
Hallo Jogy,
Oh Mann damit hat sich das auch mal geklärt, ich muss dazu mal ein Testmakro schreiben,
um den Unterschied zu verdeutlichen. Danke Dir!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige