• 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 bovenop waarde formule

Status
Niet open voor verdere reacties.

Djoane

Gebruiker
Lid geworden
26 mrt 2010
Berichten
725
Ik heb nog een vraag:

Ik heb een aantal kolommen met getallen en formules. Elke rij heeft betrekking met 1 onderwerp.

In kolom A staat: 180
In kolom B staat: 9

Hoe kan ik dan in kolom A zeggen dat als B groter is dan +7 of kleiner als -7, dat excel dit dan optelt bij kolom A

Dus in bovenstaande situatie: kolom B is groter dan 7, dus (Kolom A+Kolom B = 180+9=189)

En dan het liefst ook nog, dat excel deze cel dan een kleurtje geeft. (kolom A dus)

Ik kan wel een functie vinden dat "voorwaardelijke opmaak" heet, daarmee kan ik zeggen dat als Kolom B groter of kleiner is dan +7 of -7 (door 2x voorwaardelijke opmaak te gebruiken) dat die cel een kleurtje krijgt, maar ik weet niet hoe ik dit ook in een echte formule kan gebruiken,

Alvast bedankt voor het meedenken:)
 
Laatst bewerkt:
Djoane,

Zo iets?
Code:
=ALS(OF(B1>7;B1<-7;A1+B1;A1)
 
Nee niet geheel, formule is prima. Maar niet zoals ik het bedoel.

Ik wil 2 kolommen gebruiken, geen 3. Dus de formule moet "ingebouwd" worden in Kolom A. Als daar staat 180, en in Kolom B 9. (dat is hoger dan 7.) Dan wil ik dat Kolom A automatisch Kolom B erbij optelt. Dus niet in een derde Kolom, maar bij Kolom A.
 
Djoane,

Volgens mij lukt dat niet met een formule wat jij wil.
Je kunt in een cel een formule zetten of een getal maar niet dubbel.

Misschoien dat er iemand zeg van dat lukt, ik wacht het af.
Je heb kans dat het met VBA wel lukt.

Suc6
 
Laatst bewerkt:
Ik hoop dat iemand een oplossing weet, het probleem is namelijk, dat achteraf afwijkingen bijgevoegd moeten worden. Als het hoger is dan 7, moet het meegerekend worden, lager dan dat niet. Als ik dan een 3e kolom moet maken met A+B (bij wijze van spreken) dan moet ik zo meteen zo'n 6/700 cellen met de hand gaan aanpassen.

Dat zijn mij er iets teveel.
 
Beste Djoane,

Als je cellen onder elkaar staan. Een mogelijkheid is dan kolom C te gebruiken:
Code:
=ALS(B1>7;A1+B1;A1)

En dan deze formule naar beneden doortrekken.

Als alle rijen in kolom B gevuld zijn, kun je ook dubbelklikken op de vulgreep (het zwarte vierkantje rechtsonder de actieve cel).

Richard
 
Een Kolom C toevoegen is geen probleem, alle formules schuiven wel op. Maar het probleem is dan, dat ik per stuk een aantal nieuwe formules moet maken. Omdat de grondwaarde (Kolom A) opeens Kolom C is geworden. Opzich zou dat geen drama zijn, echter het zijn ontzettend veel cellen, en als ik het onder elkaar doortrek, dan pak ik ook de verkeerde mee.

Terwijl ik dit aan het typen ben, bedenk ik mij opeens iets. Als ik nu van Kolom A, Kolom C maak, en die Kolom A voor Kolom C zet, dan passen mijn formules zich aan aan de aangepaste waarde, of dit nu verhoogd/verlaagd is of niet.

Dan rest er nog 1 vraag:

Hoe krijg ik deze cel in een kleurtje?

Voor elke rij gelden er andere regels, ik kan dus niet een automatische opmaak toevoegen op Kolom C (voorheen A)

Ik wil dus wanneer de waarde in Kolom B groter/kleiner is dan 7/-7, dat Kolom C(voorheen A) dan bijvoorbeeld oranje kleurt.
 
In kolom A staat: 180
In kolom B staat: 9
Hoe kan ik dan in kolom A zeggen dat als B groter is dan +7 of kleiner als -7, dat excel dit dan optelt bij kolom A. Dus in bovenstaande situatie: kolom B is groter dan 7, dus (Kolom A+Kolom B = 180+9=189). En dan het liefst ook nog, dat excel deze cel dan een kleurtje geeft. (kolom A dus)
Met het getal 180 en gelijksoortige waarden in kolom A
met het getal 9 en gelijksoortige waarden in kolom B
kun je deze macro gebruiken:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([b1:b100], Target) Is Nothing Then
If Target > 7 Or Target < -7 Then
With Cells(Target.Row, 1)
.Value = .Value + Target.Value
.Interior.ColorIndex = 4
End With
End If
End If
End Sub
In Excelversies vóór 2007: klik met de rechtermuisknop op de tab met de naam van het blad(bv. Blad1),
kies: "Programmacode weergeven" en plaats op de plaats waar de cursor knippert bovenstaande code.
 
klungelsmurf

Oke,.... ik ben "junior".... Waar moet ik dat stuk macro laten? Ik heb daar nog nooit eerder mee gewerkt. :o:o:o:o
 
Oke,.... ik ben "junior".... Waar moet ik dat stuk macro laten? Ik heb daar nog nooit eerder mee gewerkt. :o:o:o:o
Dat staat duidelijk in de laatste zin van mijn bericht, maar daarbij is ervan uitgegaan dat je met een Excelversie van vóór 2007 werkt (zoals ik).
 
Hier een voorbeeldbestandje in Excel 2002,
dat wordt bij jou automatisch geconverteerd naar 2007.
Vul in kolom B waarden in, en kijk naar het resultaat in kolom A.
 
Dat ziet er goed uit, maar hij telt door? Als ik dus een waarde heb ingetypt van -9 en later blijkt dit 6 te zijn, dan corrigeert ie dat niet meer klopt dat?

(ik heb geen verstand van macro's)
 
Dat ziet er goed uit, maar hij telt door? Als ik dus een waarde heb ingetypt van -9 en later blijkt dit 6 te zijn, dan corrigeert ie dat niet meer klopt dat?
Je hebt als regels gegeven dat er in kolom A opgeteld moet worden als de waarde in kolom B groter is dan +7 of kleiner dan -7.
Welnu, die regel wordt precies toegepast.
Dan moet er toch niets gebeuren als er 6 in wordt gevoerd?
 
Nee dat is waar, maar het gebeurd ook weleens dat er waarden doorgegeven worden, die later iets anders zijn. Op dat moment telt hij dus door.
 
Nee dat is waar, maar het gebeurd ook weleens dat er waarden doorgegeven worden, die later iets anders zijn. Op dat moment telt hij dus door.
Ik begrijp niet wat je bedoelt.
Zoals het nu is, doet de macro PRECIES wat je schreef.
Als je nu wat anders wil, omschrijf dat dan eens DUIDELIJK !!
 
Een formule past zich aan aan het getal dat je invult. (het antwoord dan in elk geval)

In het geval van deze macro, kun je 1x iets invullen. Als je op een later tijdstip een ander getal in wilt vullen, dan is dat onomkeerbaar.

Maar ik ben er blij mee hoor, daar niet van....
 
Een formule past zich aan aan het getal dat je invult. (het antwoord dan in elk geval). In het geval van deze macro, kun je 1x iets invullen. Als je op een later tijdstip een ander getal in wilt vullen, dan is dat onomkeerbaar.Maar ik ben er blij mee hoor, daar niet van....
Je antwoord is voor mij nog even cryptisch als het vorige.
Onbegrijpelijk, dat je niet via enkele eenvoudige voorbeelden wilt of kunt weergeven wat je bedoelt.
 
Hallo Djoana,

Ik moet Zapatr volkomen gelijk geven.
Zijn code doet precies wat je vroeg.

Volgens mij kun je jouw probleem niet oplossen zonder extra kolom (of kolommen).

Als je in kolom B een waarde buiten de range -7 tot +7 hebt staan, dan moet die (als ik het goed begrijp) bij de waarde in kolom A opgeteld worden. Kan prima met een macro.
Maar dan ben je je oorspronkelijke waarde van kolom A kwijt (want daar is net iets bij opgeteld en in dezelfde cel gezet).

Daarnaast moet je zien te voorkomen dat die kolom B nog een keer erbij geteld wordt. Als de waarde in kolom B namelijk wijzigt in een andere waarde buiten die genoemde range, doet de macro exact hetzelfde: weer bij A optellen.

Ik zie daar geen logica in.
Door extra kolommen te gebruiken houd je je oude waarden en zie je wat er is gebeurd.
Je moet er altijd voor zorgen dat je de berekende waarden later zelf nog op een of andere manier kunt narekenen.

Plaats anders gerust even een voorbeeldbestandje.

Succes:thumb:,
Ger
 
Dit is een eindeloze discussie. Zie mijn post van 14:03.

Het enige wat ik probeer aan te geven is dat ik NIET wil dat -mocht ik de waarde nog een keer veranderen dat- ie dan door telt. Dat doet de macro, zoals Ger ook zegt. Dat zei ik volgens mij toch redelijk duidelijk.

Ik heb inmiddels al een kolom toegevoegd. Zoals te lezen is in 14:03. De enige vraag die ik daarna nog had was:

Hoe geeft ik een kolom een kleurtje als in een andere kolom een waarde te hoog of te laag is? Terplekke kan dat via automatische opmaak. Maar hoe gebruik je deze functie als het criterium in een andere cel zit dan waar je de actie uitgevoerd wilt hebben?

Als voorbeeld een excelbestandje erbij.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan