Je kan een macro niet terugdraaien.quote:Op woensdag 9 september 2009 15:15 schreef EddyAlbena het volgende:
[..]
Ejo, bedankt man
En hoe maak ik de actie van de Macro weer ongedaan? Had alles al goed gekleurd, maar wilde die macro toch checken maar nu is alles geel en kan ik niks terugzetten
A1:A3 bevatten je productenquote:Op donderdag 10 september 2009 08:51 schreef gurdi het volgende:
hallo ik ben nog een beetje een nieuweling in excel .
Ik stuit op het volgende probleem.
In kolom 1 heb ik een aantal producten.
in kolom 2 heb ik het bijbehorende besparing op dat product.
nou wil ik van het product met de maximale besparing de productnaam in bijvoorbeeld d4 hebben
hoe krijg ik dit voor elkaar.
met max krijg ik gewoon het getal van de besparing.
met verschuiving kan ik wel 1 kolom naar links kijken maar ik kan de formules niet combineren,
want ik dacht aan: =verschuiving(max(b1;b10);0;-1)
dus een verschuiving naar 1 vakje naar links, met asl verwijzingsvakje het maximum van kolom 2
maar dit werkt niet
Thanks voor de moeite!quote:Op dinsdag 8 september 2009 08:10 schreef DaFan het volgende:
Hendrik ik ben hiertoe gekomen:
[ code verwijderd ]
Veel overbodige Else, veel overbodige Ifs. De laatste twee zeggen uiteindelijk precies hetzelfde, of het nu groter of kleiner is dan 0. Dan kan je beter gebruiken NIET GELIJK AAN nul, en dan je formule.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Do Until ActiveCell.Value = "" If Range("C2") <> Range("C1") Then If Range("C2") > Range("C1") Then If ActiveCell.Value - Round(ActiveCell.Value, 2) > 0 Then ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" ActiveCell.Offset(1, 0).Select Else ActiveCell.Offset(1, 0).Select End If Else If ActiveCell.Value - Round(ActiveCell.Value, 2) < 0 Then ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" ActiveCell.Offset(1, 0).Select Else ActiveCell.Offset(1, 0).Select End If End If Else GoTo done End If Loop |
1 2 3 4 5 6 7 8 9 10 | Do Until ActiveCell.Value = "" If Range("C2") <= Range("C1") Then Exit Sub If Range("C2") > Range("C1") Then If ActiveCell.Value - Round(ActiveCell.Value, 2) <> 0 Then ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" End If End If ActiveCell.Offset(1, 0).Select Loop |
1 2 3 4 5 | ... Else GoTo done End If |
1 |
1 2 3 4 | Else ActiveCell.Offset(1, 0).Select End If |
1 2 | ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" |
1 2 | ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" |
1 |
1 2 3 4 5 6 7 8 9 10 | Do Until ActiveCell.Value = "" If Range("C2") = Range("C1") Then Exit Sub If Range("C2") > Range("C1") Then ActiveCell.FormulaR1C1 = "=ROUND(RC[-2]*RC[-1],2)" End If ActiveCell.Offset(1, 0).Select Loop |
hee bedankt man, het werkt.quote:Op donderdag 10 september 2009 11:29 schreef DaFan het volgende:
[..]
A1:A3 bevatten je producten
B1:B3 bevatten je besparingen
=INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))
en alweer bedankt.quote:Op vrijdag 11 september 2009 12:16 schreef DaFan het volgende:
="Besparing tov oude installatie met " & INDEX(A1:A3;VERGELIJKEN(MAX(B1:B3);B1:B3;0))
Probleem met zulke combinaties van strings en berekeningen, is dat je niet meer kan rekenen met de uitkomst van je berekening (het is immers een string). Denk daar dus aan
abs()quote:Op dinsdag 15 september 2009 10:40 schreef gurdi het volgende:
Ik heb een 2 nieuwe vragen
in kolom H staan veel wardes, zowel positief als negatief.
eerste vraag. ik wil ene getal het dichtste bij 0 hebben. een minimum geeft het laagste negatieve getal weer.
is er een functie om het dichtst bij 0 te komen,
of een manier om alle negatieve getallen positief te maken en dan een minimum te doen.
een worksheet is gelukkig niet oneindig, neem dus gewoonquote:- ik dacht zelf twee manieren met cel eigenschappen veranderen maar dan word er gewoon met negatief doorgerekend en komt er niet het goede antwoord uit bij minimum.
- de functie =ALS(h8<0;"";h8*-1,h8), nadeel je krijgt er een hele rij langs. geen onderscheiding wat nou negatief was en wat niet.
tweede vraag. Ik wil dat de functie begint bij h8 en eindigt bij oneindig (dus waar het laatste getal staat)
hoe vul ik dit in?
over de hele kolom =min(H;H) dus ik dacht =min(h8;h) maar dat werkt niet..
wie kan deze vragen beantwoorden.
Je ontkomt er echt niet aan om een extra kolom te gebruiken ;(quote:Op woensdag 16 september 2009 12:28 schreef Stansfield het volgende:
Ik heb een vraag over afronden. Ik wil graag bedragen afronden op hondertallen. Dus 125.840 moet worden 125.800. Nu is dit natuurlijk wel mogelijk met de formulie =AFRONDEN(125.840);-2)
Maar ik wil eigenlijk dan een heleboel verschillende bedragen tegelijk kopieeren in die cellen. Dat werkt dus niet als ik overal die formule voor moet gaan zetten. Weet iemand hoe je dat nog op een andere manier voor elkaar krijgt. Iets met celeigenschappen ofzo.
Ik gebruik trouwens de excel 2007 NL versie.
1 2 3 4 5 6 7 8 9 | Dim c As Range For Each c In Selection c.Value = Round(c.Value / 100, 0) * 100 Next End Sub |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |