• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

i-de rij in named range

Status
Niet open voor verdere reacties.

nobody11

Gebruiker
Lid geworden
20 dec 2007
Berichten
552
hallo iedereen,

ik zou graag per rij in een bepaalde range de max of min waarde eruit halen.. ik heb momenteel dit:

Code:
for i = 1 to Range("E:E").Rows.SpecialCells(xlCellTypeConstants).Count [COLOR="Red"]range E:E staat naast de "data" range [/COLOR]
max = application.worksheetfunction.max(Range("F3:H7").Rows(i))
msgbox max

Next

deze code werkt, maar nu zou ik graag die application.workshetefunction.max laten afhangen van een bepaalde cel (bv A1)

als A1: 1, => dan moet het application.worksheetfunction.max zijn
als A1: 2 => dan moet het application.worksheetfunction.min zijn

kan ik dit elegant doen? zonder ifs? of misschien door in het begin ergens een variabele te declareren?

Code:
If Range("A1").Value = 1 Then
Search = Application.WorksheetFunction.Max(Range("F3:H7").Rows(i))


If Range("A2").Value = 2 Then
Search = Application.WorksheetFunction.Min(Range("F3:H7").Rows(i))
End If
End If


For i = 1 To Range("E:E").Rows.SpecialCells(xlCellTypeConstants).Count
MsgBox Search

Next


End Sub
 
Laatst bewerkt:
weet iemand overigens ook waarom dit niet werkt:

Code:
Sub test2()
For Each c In Range("Data").Rows(1)
MsgBox c
Next
End Sub

als ik rows(1) weglaat, lukt het wel... het is iets met property mismatch ofzo?
 
In plaats van IF's kan je gebruik maken van Select Case

Code:
Select Case Range("A1").Value
Case 1
Search = Application.WorksheetFunction.Max(Range("F3:H7").Rows(i))
Case 2
Search = Application.WorksheetFunction.Min(Range("F3:H7").Rows(i))
'Case Else (eventueel om afwijkingen op te vangen)
End Select

Het is overigens altijd een meer dan goede gewoonte om variabele te declareren.
In veel computerprogramma's is dat zelfs verplicht.

Met vriendelijke groet,


Roncancio
 
In plaats van IF's kan je gebruik maken van Select Case

Code:
Select Case Range("A1").Value
Case 1
Search = Application.WorksheetFunction.Max(Range("F3:H7").Rows(i))
Case 2
Search = Application.WorksheetFunction.Min(Range("F3:H7").Rows(i))
'Case Else (eventueel om afwijkingen op te vangen)
End Select

Het is overigens altijd een meer dan goede gewoonte om variabele te declareren.
In veel computerprogramma's is dat zelfs verplicht.

Met vriendelijke groet,


Roncancio


bedankt!!! :-)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan