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

Application.WorksheetFunction.Large; ADRESSE

Application.WorksheetFunction.Large; ADRESSE
12.12.2013 10:58:22
Robin
Hallo!
Mit:
<i>MaxOffer = Application.WorksheetFunction.Large(Sheet4.Range(Sheet4.Cells(MinRow, 6), Sheet4.Cells(MaxRow, 6)), 1)~</i>f~
finde ich den maximalen Wert in einer bestimmten Range (Zeile MinRow->MaxRow in Spalte 6). Das funktioniert soweit.
Nun möchte ich die Adresse der entsrechenden Zeile auslesen.
mit .address, .row, .column am Schluss gibts den Error "Invalid Qualifier".
dim MaxOfferAddress as range
~f~<i>MaxOfferAddreess = Application.WorksheetFunction.Large(Sheet4.Range(Sheet4.Cells(MinRow, 6), Sheet4.Cells(MaxRow, 6)), 1).row</i>
Weiss jemand, wie man die Adresse am besten bekommt?
Danke für eure Hilfe und Grüsse,
Robin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.WorksheetFunction.Large; ADRESSE
12.12.2013 10:59:59
Robin
Mit den ~f~ hats noch nicht so geklappt :)... Ich hoffe man erkennt den Sinn trotzdem.

AW: Application.WorksheetFunction.Large; ADRESSE
12.12.2013 11:06:54
EtoPHG
Hallo Robin,
Die Funktion gibt nur einen Wert zurück und keine Range, darum kannst du so auch nicht die Adresse ermitteln. Du könntest z.B. mit der MATCH Funktion nun diesen Wert erneut im Bereich suchen und damit die relative Zeilennummer im Bereich zurückzubekommen.
Gruess Hansueli

AW: Application.WorksheetFunction.Large; ADRESSE
12.12.2013 11:17:27
Rudi
Hallo,
du hast MaxOfferAddress als Range deklariert.
.Address ergibt einen String, .Row einen Long-Wert.
Wozu brauchst du die Adresse? Reicht nicht die Zelle als Objekt?
Warum arbeitest du mit Large für den höchsten Wert? Max() ist doch einfacher.
With Sheet4
maxOffer = WorksheetFunction.Max(.Range(.Cells(minRow, 6), .Cells(maxRow, 6)))
maxOfferAddress = .Cells(WorksheetFunction.Match(maxOffer, .Range(.Cells(minRow, 6), .Cells( _
maxRow, 6)), 0) + minRow - 1, 6).Address
End With

Gruß
Rudi

Anzeige
AW: Application.WorksheetFunction.Large; ADRESSE
12.12.2013 11:29:24
Robin
Danke für eure Antworten!
Noch eine Ausführung des Problems und warum ich .large und nicht .max verwende.
Also in Spalte 6 stehen die zu überprüfenden Werte, in Spalte 5 ist eine Information gespeichert, ob dieser Wert für die Auswahl infrage kommt. Falls dieser aufgrund des Eintrags in Spalte 5 nicht erlaubt ist (Daher brauche ich die Row um das mit IF zu überprüfen), suche ich den zweitgrössten Wert. usw.
Den kompletten Code poste ich dann gerne, wenns funktioniert :)

AW: Application.WorksheetFunction.Large; ADRESSE
12.12.2013 11:34:11
Rudi
hallo,
dann setz eben wieder Large anstatt Max ein.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige