• 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.

als groter dan x is een verwijzing geven naar die cel

Status
Niet open voor verdere reacties.

gonish

Gebruiker
Lid geworden
22 sep 2010
Berichten
15
Beste helpers!

ik heb weer een vraagje,
het is mogelijk om excel in een bepaald bereik cellen te laten zoeken die een waarde boven de 'x' hebben.
ik kan deze cellen laten tellen door de als.aantal functie, ik kan de cellen in laten kleuren door de voorwaardelijke opmaak

maar ik wil dat excel deze cel opzoekt, en dan laat zien welke cellen boven dat bereik uit komen.
het probleem is nu dat het zo een groot bereik is dat ik niet het hele bestand af kan scrollen naar kleurtjes en dat het geen nut heeft om het aantal cellen boven dat bereik te tellen..
er moet dus een verwijzing naar de cel komen waarvan het bereik te hoog is

ik heb geen voorbeeldje, met links wat ik dan de uitkomst hoort te zijn :P
de gele cellen heb ik zelf ingekleurd om duidelijk te maken welke cellen ik bedoel

alvast bedankt :)
daag
 

Bijlagen

jaa dat is precies wat ik zoek!!:eek::thumb:

alleen hoe heb je dat gemaakt, want dit is niet het bestand waarmee ik meot werken.
is dit via macro's gedaan of waar zit de formule?

graag iets meer informatie over hoe ik de formule/macro aan kan passen..

groetjes,
gonish
 
vba-code

okee ik heb de code gevonden, het is dus een macro =P

nu heb ik gegoogled, maar ik snap niet hoe je zoiets kan maken door je eigen handelingen te laten opnemen..
dus moet het een vba-code zijn die ingevoerd is, die heb ik ook gevonden in het bestandje van zapatr:

Code:
Sub grenswaarden() 
Dim r(3)
[i6:k14].ClearContents[COLOR="red"]het weghalen van de 'oude' te hoge waardes[/COLOR]
[c6:e14].Interior.ColorIndex = 0 [COLOR="red"]weghalen van de gele kleurtjes[/COLOR]
r(1) = 5: r(2) = 5: r(3) = 5[COLOR="red"]geen idee[/COLOR]
For y = 1 To 3[COLOR="red"]y-as is van 1-3, waarom die hier 1-3 is en niet 3-5 snap ik niet [/COLOR]
For x = 6 To 14[COLOR="red"]de x-as is van 6 tot 14 ([/COLOR]
If Cells(x, y + 2) > Cells(1, y + 2) Then
r(y) = r(y) + 1 [COLOR="red"]een als-dan functie maar die assen snap ik niet[/COLOR]
Cells(x, y + 2).Interior.ColorIndex = 6[COLOR="red"]kleurtje voor de cel, maar weer met die assen[/COLOR]
Cells(r(y), y + 8).Value = Cells(x, 3).Address[COLOR="red"]weer die assen[/COLOR]
End If
Next x
Next y
End Sub
daar snap ik dus niet alles van.. (zoals in rood aangegeven)
miss dat iemand het mij uit kan leggen (ga zelf ook eens kijken hoe vba werkt)
 
Laatst bewerkt door een moderator:
okee ik heb de code gevonden, het is dus een macro :)
nu heb ik gegoogled, maar ik snap niet hoe je zoiets kan maken door je eigen handelingen te laten opnemen..
Nee,zo'n macro kun je niet maken via de opnameknop. Maar in het algemeen kun je wel een macro opnemen waarin je uitvoert wat je wil bekomen en die macro daarna handmatig aanpassen. Maar deze macro is (zoals bijna al mijn macro's) helemaal zelf geschreven.

[i6:k14].ClearContents het weghalen van de 'oude' te hoge waardes.
Dat is juist.
[c6:e14].Interior.ColorIndex = 0 weghalen van de gele kleurtjes.
Ook dat is juist.
r(1) = 5: r(2) = 5: r(3) = 5 geen idee.
Er worden 3 variabelen gedeclareerd, en ze krijgen allemaal de waarde 5. Hierover verderop meer.
For y = 1 To 3 y-as is van 1-3, waarom die hier 1-3 is en niet 3-5 snap ik niet.
Goede opmerking! C6:E14 bestaat inderdaad uit de kolommen 3, 4, en 5. Door met y vanaf 1 te starten, moet er dus bij elke y 2 worden opgeteld. Zie verderop.
For x = 6 To 14 de x-as is van 6 tot 14.(
Dat is juist!
If Cells(x, y + 2) > Cells(1, y + 2) Then
r(y) = r(y) + 1 een als-dan functie maar die assen snap ik niet.
x begint bij 6 en y begint bij 1. Met deze beginwaarden leg ik de macro uit. Voor de volgende waarden van x en y geldt hetzelfde, alleen met andere getallen. Houd wel goed in de gaten dat de tabel C5:E14 per kolom wordt doorlopen. Vertaald krijgen we voor de eerste waarden van x en y (ermee rekening houdend dat y+2 = 1+2 =3):
als de waarde van cel(6, 3) groter is dan de waarde van cel (1,3) dan wordt:
r(1) = 5 + 1 = 6. Cel(6,3) = C6 en cel (1,3) = C1.
Cells(x, y + 2).Interior.ColorIndex = 6 kleurtje voor de cel, maar weer met die assen.
Cel(x, y+2) = cel(6,3) = C6. Die wordt geel als aan de voorwaarde (waarde kleiner dan C1) voldaan is, maar dat is niet het geval, dus geen kleur.
Cells(r(y), y + 8).Value = Cells(x, y + 2).Address weer die assen.
In Cel(6,9) = I6 wordt het adres van cel(6,3) = C6 geplaatst als aan de voorwaarde (C6>C1) voldaan is. Maar dat is niet het geval, dus het adres van C6 komt niet in I6.

Dat was de uitleg voor y = 1 en x = 6.
Hierna blijft y =1 en wordt x gelijk aan 7, waardoor gekeken wordt of cel(7,3) = C7 aan de voorwaarde voldoet. Zo wordt eerst de gehele eerste kolom doorlopen en daarna de tweede en de derde kolom.
miss dat iemand het mij uit kan leggen
Dat is hierbij gebeurd. Je ziet dat het heel wat gepuzzel is, maar als je er de tijd voor neemt dan begrijp je het vast wel.
 
Laatst bewerkt:
gonish,
Bij nader inzien zie ik dat er in de macro een fout staat.
De vijfde regel van onder eindigt op: Cells(x, 3).Address
Dat moet zijn: Cells(x, y + 2).Address
 
beankt!!

okee, ja ik had gistermiddag zelf nog geprutst maar kwam er niet echt meer uit =P

moest een paar dingen aanpassen, maar het is me nu gelukt (voordat ik je 2e uitleg las eigenlijk :P)

maar toch bedankt daarvoor, nu snap ik de formules en getallen ook beter, zeker die assen :thumb:

opgelost dus bedankt zapatr!!:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan