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

Finden Suchfunktion funktioniert nicht

Finden Suchfunktion funktioniert nicht
Axel
Hallo Cracks,
ich habe unten anstehendem Code folgendes Problem (bei der Ermittelung einer Max-Wert-Zeile):
innerhalb des angegebenen Bereiches myRange wird ein Maximalwert gesucht und dieser via Worksheetfunction.max() an pk korrekt übergeben. Suche ich unmittelbar danach denselben Maximalwert Pk im gleichen Bereich myRange, bleibt meine Suchvariable leer, Rh = nothing.
Habt ihr Ideen?
Gruß,
Axel
PS: gebe ich anstelle des gefundenen Maximalwertes Pk z.B. "Haus" ein und sorge dafür, dass dieser Wert auch in myRange vorhanden ist, findet er "Haus" ohne Probleme...

Set myRange = ActiveSheet.Range(Cells(xyValRow1, yCol), Cells(xyValRow2, yCol))
myRange.Select 'hier keine Probleme
pk = Application.WorksheetFunction.Max(myRange) ' =zahlenwert: 14592814,4246388
Set Rh = myRange.Find(pk)
If Not Rh Is Nothing Then 'bleibt auf Rh = nothing?
MsgBox Rh.Address
MsgBox Rh.Row
End If

AW: Finden Suchfunktion funktioniert nicht
18.01.2012 16:58:05
Rudi
Hallo,
würde ich mit Match machen.
Sub xxx()
Dim r1 As Range, z As Long
Set r1 = Range(Cells(10, 1), Cells(20, 1))
z = Application.Match(Application.Max(r1), r1, 0)
MsgBox r1(z).Address
End Sub

Gruß
Rudi
AW: Finden Suchfunktion funktioniert nicht
19.01.2012 08:35:51
Axel
Guten morgen Rudi,
wenn ich Application.M... eingebe, bietet mir der Editor im Drop-Downmenue kein .Match an. Das hat mich bei der Recherche durch alte Beiträge schon gewundert, weil ein anderer User das gleiche Problem hatte.
Dennoch:
Dein Code klappt prima, dankeschön, das löst mein Problem. Wobei mich mein Teilproblem von oben schon interessieren würde. Denn: wenn ich den Bereich manuell über eine Schleife

for i = 1 to 8760
if MaxVal 

durchsuche, dann funktioniert es prima.
Wie auch immer: Ich werde Deinen Code nutzen, er ist kürzer und eleganter.
Nochmals Danke,
Axel
Anzeige
...Weil der Intellisense hier nur auf Worksheet...
19.01.2012 10:08:53
Luc:-?
…Function abstellt, Axel!
Manche meinen, sie müssten immer nur Application dafür verwenden, weil man nur so, wie vom TabBlatt gewohnt, ggf auch einen Fehlerwert geliefert bekommt. Dabei sollte es doch eigentl reichen, wenn man im Nachhinein feststellt, dass die jeweilige Variable leer (bzw auf 0 oder Voreinstellung) geblieben ist. Im TabBlatt versucht Mancher mit zusätzl Fktt genau dass zu erreichen, in Pgmm will er o.A. dann aber genau das Gegenteil! Irgendwie doch „verkehrte Welt”… ;->
Gruß Luc :-?
AW: ...Weil der Intellisense hier nur auf Worksheet...
20.01.2012 11:19:45
Axel
Hey Du Philosoph!
Ich würde Dich ja gerne verstehen,
aber Du bist auf einer höheren Umlaufbahn als ich…
Ich kann Dir nicht folgen. Kannst Du das etwas
konkreter beschreiben?
Gruß, Axel
Anzeige
Was ist da nicht zu verstehen, ...
20.01.2012 21:08:13
Luc:-?
…Axel?
Schau doch einfach mal in die VBE-Hilfe!
1. Stichwort WorksheetFunction: Das ist ein Objekt, dass einen Großteil der TabBlatt-Fktt beinhaltet, sozusagen ein Container für diese.
2. Stichwort Application: Das ist die Anwendung, also Xl selbst.
3. Stichwort Intellisense: Das ist ein Service des VB-Editors, der so programmiert ist, dass er nur auf korrekt referenzierte Objekte anspricht. Application.Match ist in diesem Sinne keine korrekte Referenzierung, fktt aber trotzdem und sogar etwas anders als bei korrekter Referenzierung, nämlich (fast) wie im TabBlatt.
Dahingehend hatte ich dein Erstaunen verstanden, weshalb ich es dir zu erläutern versucht habe.
Fazit: Ohne WorksheetFunction kein Intellisense für den Inhalt dieses Container-Objekts!
Alles andere magst du als „Philosophie” ansehen, beruht aber auf Erfahrungen und ist hier auch schon abundzu diskutiert worden.
Gruß+schöWE, Luc :-?
Anzeige
AW: Was ist da nicht zu verstehen, ...
20.01.2012 22:26:17
Gerd
Hallo Axel,
bei der Find-Methode sollte man die Parameter lookin, lookat u. ggf. matchcase mit angeben.
Ansonsten wird nach mit Einstellungen im Dialog "Suchen" gesucht u. diese passen nicht immer.
Gruß Gerd
...Das natürl außerdem auch! ;-) schöWE owT
21.01.2012 06:16:36
Luc:-?
:-?
AW: ...Das natürl außerdem auch! ;-) schöWE owT
23.01.2012 10:46:52
Axel
Männer,
danke für die Erklärungen.
Da hab ich wieder etwas dazu gelernt.
Axel

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige