Row-index uit gevonden waarde halen

Status
Niet open voor verdere reacties.

Morsyd

Gebruiker
Lid geworden
25 dec 2007
Berichten
165
Hallo
via de code
Code:
Application.max(Range(.....))
haal ik een maximum op uit een bepaald bereik.
Nu wil ik van de cel waar dat maximum staat het rijnummer hebben.
Hoe doe ik dit?
Via
Code:
Application.max(Range(....)).Row
lukt het me niet:(
Wie helpt?
mvg
 
Nee dat gaat niet werken.
Zul je wat meer code moeten gebruiken.

Zoals:
Code:
Dim MaxWaardeRange, MaxWaarde
Set MaxWaardeRange = Range("A:A")

MaxWaarde = Application.WorksheetFunction.Max(MaxWaardeRange)


With MaxWaardeRange
Dim A, GevondeRange
Set A = .Find(MaxWaarde, LookIn:=xlValues)
GevondeRange = A.Address
End With

MsgBox GevondeRange
 
Laatst bewerkt:
Als ik me niet vergis zoekt hij nu dus de waarde A (maximum waarde)...
maar in welk bereik? in het volledige worksheet?
ik zou graag hebben dat die A-waarden dan terug gezocht wordt in het bereik waarin hij de max-waarde vond. hoe doe je dat?
want in andere bereiken op men blad kan dat getal ook voorkomen en dat wil ik niet.
 
Nee A is een String
Code:
MaxWaardeRange = Range("A:A")
Dit is de Range waar deze kijkt Dus Column A
"GevondeRange" geeft de Cell met de Grootste waarde.
 
Ja inderdaad, de maxwaarde wordt in de correcte range gezocht.
Maar de A-waarde
Code:
Set A = .Find(MaxWaarde, LookIn:=xlValues)
Waar wordt die Find toegepast? Ook in die MaxWaardeRange?
 
Ja, die blijft in de Column A
Als je meer wil toevoegen verander je de Code in
Code:
Set MaxWaardeRange = Range("A:B")
Deze kijkt dan naar A en B
 
Gebruik een one-liner:

Code:
Sub rij_van_max()
   rij = Thisworkbook.sheets(1).Columns(3).Find(WorksheetFunction.Max(Columns(3))).Row
End Sub
 
Laatst bewerkt:
snb,

Gebruik een one-liner:
Code:
Sub rij_van_max()
   rij = Columns(3).Find(WorksheetFunction.Max(Columns(3))).Row
End Sub

Dit is inderdaad een heel stuk korter, alleen geeft hij een fout melding.
Objectvariabele of Blokvariabele with is niet ingeseld.
 
@Wim

Waar heb je code gezet ?
Als de macro onderdeel uitmaakt van een werkbladmodule treedt dit niet op , anders moet je het werkblad specificeren.

Vorige suggestie aangepast.
 
Laatst bewerkt:
snb,

Ik heb hem nu achter hetwerkblad gezet en krijg de melding nu niet maar ik zie ook niets gebeuren.
Verander ik de 3 in een 4 dan komt de melding wel, wat doe ik fout.
 
maar ik zie ook niets gebeuren


Wat wil je zien dan ?

Bijv.
Code:
Sub rij_van_max()
   msgbox "De maximumwaarde van kolom3 staat in rij " & Thisworkbook.sheets(1).Columns(3).Find(WorksheetFunction.Max(Columns(3))).Row
End Sub
 
snb,

Hartelijk bedankt, nu zie ik waar het hoogste staat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan