...quote:Op donderdag 3 april 2014 11:54 schreef sylvesterrr het volgende:
=LEN(A1)-LEN(SUBSTITUTE(A1;"-";""))
http://support.microsoft.com/kb/187667
Zoiets dan?quote:Op donderdag 3 april 2014 01:31 schreef hayder het volgende:
[..]
Ik blijf lastig sorry sorry, maar het klopt niet
me startsaldo is bijv 10 dus 10+som etc etc
Zoals je kan zien is de uitbetaling 2.80... dus van de 10 euro gaat er 2 af want daar ga je meespelen. dat betekend als je wint dan wordt het saldo 10.80 en niet 12.80. Het klopt ook niet als ik L neerzet dan gaat het bedrag van uitbetaling eraf, maar mijn inzet bedrag moet dan af van de saldo. Ik ben helemaal in de war
Link: http://www.mijnbestand.nl/Bestand-Q8KUQUGXEZHC.xlsx
Wat staat er in Landen!G4?quote:Op vrijdag 4 april 2014 15:52 schreef Feyenoordlife het volgende:
Ik haal data op van Wikipedia welke ik vervolgens in een tabel laadt. De namen van de clubs en het aantal punten komen uit de data van Wikipedia (afbeelding 1). Vervolgens voeg ik er in afbeelding 2 nog andere data aan toe, zoals het coëfficiënt. Wanneer een club op dit moment verplaatst op de ranglijst blijven de andere gegevens op de plaats staan waar ze momenteel ook staan. Hoe kan ik dit automatisch mee laten gaan zodat het coëfficiënt van bijvoorbeeld Wolfsburg ook mee gaat naar plaats 4 op het moment dat ze meer punten hebben dan Bayern Leverkussen?
[ afbeelding ]
[ afbeelding ]
Excel: 2010, Engels.
Vervang dan =Landen!G4 (en de rest), door =VERT.ZOEKEN(DEEL(CEL("bestandsnaam";$A$1);VIND.SPEC("]";CEL("bestandsnaam";$A$1))+1;256);Landen!$A$2:$G$30;7;ONWAAR)quote:Op vrijdag 4 april 2014 16:31 schreef Feyenoordlife het volgende:
[..]
Het landencoëfficiënt van Duitsland:
[ afbeelding ]
Maak gebruik van add ins, door je project op te slaan als een xlam bestand.quote:Op maandag 7 april 2014 14:26 schreef Stickers het volgende:
Ik heb enkele macro's die meerdere collega's (willen) gebruiken. Nu snappen ze helaas niet allemaal hoe je uit een .txt file de macro kunt knippen/plakken . Ik wil dus een excel bestand maken waarvan geen enkel blad zichtbaar is, maar ze wel de macro kunnen draaien.
Ik heb "Sheets(worksheet).Visible = xlVeryHidden" al geprobeerd, maar die geeft telkens de melding dat er minstens 1 blad zichtbaar moet zijn.
Iemand een idee dit te omzeilen?
Precies was ik zocht! Bedanktquote:Op maandag 7 april 2014 20:42 schreef snabbi het volgende:
[..]
Maak gebruik van add ins, door je project op te slaan als een xlam bestand.
Geen idee of er een snellere methode is, maar wat je zou kunnen doen is een kolom toevoegen met de formule:quote:Op woensdag 9 april 2014 09:32 schreef Saekerhett het volgende:
Ik heb hier een sheet waarin ik de inhoud van alle cellen in het bereik B6:QH6, B8:QH8, B10:QH10 etc... t/m B452:QH452 wil verwijderen (dus zeg maar om en om een rij gegevens).
Heeft iemand enig idee hoe ik dit snel voor elkaar krijg?
Misschien een teller ernaast zetten in de trend vanquote:Op woensdag 9 april 2014 09:32 schreef Saekerhett het volgende:
Ik heb hier een sheet waarin ik de inhoud van alle cellen in het bereik B6:QH6, B8:QH8, B10:QH10 etc... t/m B452:QH452 wil verwijderen (dus zeg maar om en om een rij gegevens).
Heeft iemand enig idee hoe ik dit snel voor elkaar krijg?
Dat is inderdaad uitermate simpelquote:Op donderdag 10 april 2014 12:24 schreef static het volgende:
Misschien is dit wel uitermate simpel, maar kom er niet helemaal uit.
Heb een tabblad (A) waar (uiteraard) informatie instaat. Daar wil ik wat berekeningen op uitvoeren, maar in een ander tabblab (B).
Tabblad B zal meerdere kolommen hebben waar die berekeningen instaan, maar is het mogelijk om als ik in een bestaande kolom in A iets verander het automatisch wordt aangepast/gesynchroniseerd in B?
Macro die bij het updaten van de draaitabel eerst kolom D van t slot haalt en na t updaten er weer op zetquote:Op zondag 13 april 2014 22:26 schreef Muhasib het volgende:
Ik heb een draaitabel gemaakt waarvan ik kolom D bijvoorbeeld wil beveiligen, omdat daarin de formule komt te staan die door niemand mag worden gewijzigd. Het probleem is dat de draaitabel dan niet meer werkt. Bij het invoeren van een nieuwe regel, wordt de formule niet automatisch overgenomen. Iemand enig idee hoe ik dit kan oplossen?
Hoe maak je zo'n macro?quote:Op zondag 13 april 2014 23:18 schreef qu63 het volgende:
[..]
Macro die bij het updaten van de draaitabel eerst kolom D van t slot haalt en na t updaten er weer op zet
Code kloppen in VBAquote:
Maximum value op 3 en minimum value op 1 zetten. Dat doe je via tab Design en optie Axis.quote:Op vrijdag 18 april 2014 09:54 schreef nils7 het volgende:
Excel 2010 | EN
Is er iemand bekend met sparklines?
ik heb 3 waardes in een cel die door een formule gegeven worden een 3 een 2 of een 1
Een persoon kan die score krijgen.
Nu wil ik gaan trenden van de afgelopen weken hoe een persoon heeft gescoord.
Dus persoon X heeft deze week een 3 gescoord, vorige week een 2 en de week ervoor ook een 2.
Als ik dit met sparkline wil weer geven met een kolomsparkline is de "3" een groot "blokje" en beide "2's" zijn flat lined terwijl voor mij de 1 eigenlijk een flatline is.
Ik snap dat dat de 1 niet in dat rijtje voorkomt dus de 2 wel de laagste is in die reeks.
Maar hoe kan ik Excel daar rekening mee laten houden? (zonder macro's)
Thnx het werktquote:Op vrijdag 18 april 2014 10:33 schreef sylvesterrr het volgende:
[..]
Maximum value op 3 en minimum value op 1 zetten. Dat doe je via tab Design en optie Axis.
De snelste, alhoewel niet erg mooi, is in dit gevalquote:Op dinsdag 22 april 2014 09:31 schreef nodisch18 het volgende:
Wat is nu de formule om als in cel B28, I28, P28 enz een waarde is ingevuld, dat excel uitrekent hoeveel klussen er zijn uitgevoerd. Om vervolgens de totale reistijd door die waarde te delen.
=if(a1=c1;b1;"")quote:Op vrijdag 25 april 2014 11:34 schreef kanovinnie het volgende:
Ik heb een sheet met rijen van 3 waardes
Breedte/lengte/hoogte
Ik wil een formule dat als de breedte en hoogte gelijk zijn, de lengte in de cel komt.
Dus:
100/5000/30>5000>
100/3000/20> >3000
100/1000/30>1000>
Dan kan ik namelijk daaronder alles makkelijk optellen. En als er wat wijzigt gaat alles automatisch mee.
Ik kom er wel toe om 1 cel te gebruiken, maar met 2 cellen loopt het in de knoei.
Zoiets wil ik:
=ALS(F6=100&H6=30;G6;"")
Ben ik duidelijk genoeg
=ALS(EN(F6=100;H6=60);G6;"")quote:Op vrijdag 25 april 2014 11:34 schreef kanovinnie het volgende:
Ik heb een sheet met rijen van 3 waardes
Breedte/lengte/hoogte
Ik wil een formule dat als de breedte en hoogte gelijk zijn, de lengte in de cel komt.
Dus:
100/5000/30>5000>
100/3000/20> >3000
100/1000/30>1000>
Dan kan ik namelijk daaronder alles makkelijk optellen. En als er wat wijzigt gaat alles automatisch mee.
Ik kom er wel toe om 1 cel te gebruiken, maar met 2 cellen loopt het in de knoei.
Zoiets wil ik:
=ALS(F6=100&H6=30;G6;"")
Ben ik duidelijk genoeg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Sub import_word_tables_to_seperate_sheet() Dim objWord As Object Dim objdoc As Object Dim i As Integer Dim wkb As Workbook Set objWord = CreateObject("Word.Application") objWord.Visible = True Set objdoc = objWord.Documents.Open("c:\tabs.docx") ' choose word document For i = 1 To objdoc.Tables.Count objdoc.Tables(i).Range.Copy ' copy tables ThisWorkbook.Sheets.Add(after:=Sheets(Sheets.Count)).Name = "Table_" & i ' add new sheet ActiveSheet.Cells.NumberFormat = "@" Range("a1").Select ' paste table ActiveSheet.Paste Next objdoc.Close objWord.Quit Set objdoc = Nothing Set objWord = Nothing End Sub |
Werkt helaas niet. Als ik de code zo overneem:quote:Op maandag 28 april 2014 10:39 schreef sylvesterrr het volgende:
[ code verwijderd ]
ipv
[ code verwijderd ]
Helpt dat?
1 | ActiveSheet.PasteSpecial xlPasteValues |
1 | ActiveSheet.Range("a1").PasteSpecial xlPasteValues |
1 | ActiveSheet.Range("a1").PasteSpecial Paste = xlPasteValues |
Nee het is een Word object in Excel. Met andere woorden hij plaatst een heel Word document in je sheet.quote:Op maandag 28 april 2014 10:55 schreef yozd het volgende:
Dan kopieert 'ie alles wel goed. D.w.z. de getallen staan tussen haakjes en de opmaak is correct, maaaaaaarrr het is een soort plaatje ofzo. Je kan de waarden dus niet uit een cel "filteren"...
Zonder VBA:quote:Op maandag 28 april 2014 11:35 schreef AlwaysConnected het volgende:
Ik zit met het volgende probleem in excel
ik heb een lijst van +- 900 klanten
nu wil ik van deze 900 klanten alles wat in de afgelopen jaren gedaan is in een brief zetten
er is bij elke klant een uniek getal er zijn klanten die maar 1 ding hebben maar er zijn er ook die 2 of 3 of mee hebben
op deze wijzen
1 001 klant gegevens 1 product 1
2 001 klant gegevens 1 product 2
4 002 klant gegevens 2 product 1
5 002 klant gegevens 2 product 2
6 002 klant gegevens 2 product 3
hoe krijg ik dit nu op 1 lijn?
1 001 klant gegevens 1 product 1 product 2
2 002 klant gegevens 2 product 1 product 2 prodcut 3
etc
Wie heeft er een simpele oplossing ?
Ik denk dat mijn probleem niet op te lossen is.quote:
1 | ActiveSheet.Paste |
1 | ActiveSheet.PasteSpecial Format:="Tekst" |
Zonder gebruik van macro's, is de simpelste oplossing:quote:Op maandag 28 april 2014 11:35 schreef AlwaysConnected het volgende:
Ik zit met het volgende probleem in excel
ik heb een lijst van +- 900 klanten
nu wil ik van deze 900 klanten alles wat in de afgelopen jaren gedaan is in een brief zetten
er is bij elke klant een uniek getal er zijn klanten die maar 1 ding hebben maar er zijn er ook die 2 of 3 of mee hebben
op deze wijzen
1 001 klant gegevens 1 product 1
2 001 klant gegevens 1 product 2
4 002 klant gegevens 2 product 1
5 002 klant gegevens 2 product 2
6 002 klant gegevens 2 product 3
hoe krijg ik dit nu op 1 lijn?
1 001 klant gegevens 1 product 1 product 2
2 002 klant gegevens 2 product 1 product 2 prodcut 3
etc
Wie heeft er een simpele oplossing ?
nogal een matige workaround maar kun je niet in word alle "(" vervangen door een teken en ")" door een ander teken en vervolgens na het plakken in Excel weer terug veranderen?quote:Op maandag 28 april 2014 11:41 schreef yozd het volgende:
[..]
Ik denk dat mijn probleem niet op te lossen is.
Op deze manier is de volgorde van de tabel goed (dwz de kolommen en rijen zijn in Excel hetzelfde als Word), maar mis ik de haakjes (dat worden negatieve getallen):
[ code verwijderd ]
Op deze manier behoud ik inderdaad de haakjes, maar klopt de volgorde van de tabel weer niet (dwz dat sommige getallen die in Word in dezelfde kolom staan, nu in verschillende kolommen staan...):
[ code verwijderd ]
Het verminken van de kolommen wordt veroorzaakt door zachte returns en door het gebruik van opsommingstekens in Word, dat verkeerd vertaald wordt in Excel. Voor deze twee problemen heb ik een workaround aangeboden. Jouw workaround werkt natuurlijk ook, maar het nadeel is dat wanneer je diverse bestanden hebt je nog steeds de handeling in de diverse bestanden moet uitvoeren.quote:Op maandag 28 april 2014 20:49 schreef _superboer_ het volgende:
[..]
nogal een matige workaround maar kun je niet in word alle "(" vervangen door een teken en ")" door een ander teken en vervolgens na het plakken in Excel weer terug veranderen?
Kan je een voorbeeld uploaden met hoe je het er uit wil laten zien?quote:Op dinsdag 29 april 2014 14:08 schreef Pablooo het volgende:
De data die ik aangeleveerd krijg wordt in nieuwe kolommen aangemaakt.
Bijvoorbeeld de onderhoudskosten voor mijn auto
Jan Feb Maart
Banden 10 15 8
Benzine 30 31 32
Olie 5 5 4
Soms krijg ik nog een rekening uit januari
Graag wil ik dat de data automagisch onderelkaar wordt gesorteerd met de maand er achter
Je zou dus in dit geval 9 aparte regels krijgen
Is dit mogelijk in excel en zo ja hoe?
je kan dmv de rij() en kolom() functies de positie bepalen en dat in je formule verwerken.quote:Op dinsdag 29 april 2014 14:16 schreef MichielPH het volgende:
Is er een makkelijke manier om in elke cel van een MxN veld naar de eerste rij en kolom te verwijzen?
Zoals in dit bestand gebeurt.
Zoals in cel E5, word er verwezen naar A5 en E1. Dit doe ik door in E2 naar A2+E$1 te verwijzen en het dan naar beneden te slepen, zodat kolom E naar de juiste cellen verwijst. Dit zou dan bij per kolom gedaan moeten worden. Dit is prima voor een 4x4 veld, maar niet bij enorme velden. Ik ben student, geen monnik.
Kwam het antwoord op helpmij.nl niet snel genoeg? Ik geloof dat de UDF die daar gegeven is voldoende is.quote:Op dinsdag 29 april 2014 14:30 schreef Vinnow het volgende:
Beste foramembers,
In het bijgevoegde excel-bestand is een deel van het probleem te zien.
In kolom A staan verschillende datums, dit kunnen er dus meerdere per dag zijn.
In kolom B staan verschillende projectcodes.
Nu moet ik per projectcode het aantal unieke datums zien te tellen.
#1 zou een formule moeten hebben met uitkomst 9.
#2 Idem.
#3 zou 2 moeten zijn.
#4 uitkomst 1.
Alvast bedankt
http://www.helpmij.nl/for(...)ms-per-uniek-project
$A2+E$1quote:Op dinsdag 29 april 2014 14:16 schreef MichielPH het volgende:
Is er een makkelijke manier om in elke cel van een MxN veld naar de eerste rij en kolom te verwijzen?
Zoals in dit bestand gebeurt.
Zoals in cel E5, word er verwezen naar A5 en E1. Dit doe ik door in E2 naar A2+E$1 te verwijzen en het dan naar beneden te slepen, zodat kolom E naar de juiste cellen verwijst. Dit zou dan bij per kolom gedaan moeten worden. Dit is prima voor een 4x4 veld, maar niet bij enorme velden. Ik ben student, geen monnik.
Ik snap niet zo goed hoe je het opgeschreven, maar volgens mij bedoel je gewoon het uitschrijven van elke rij * kolom.quote:Op dinsdag 29 april 2014 14:08 schreef Pablooo het volgende:
De data die ik aangeleveerd krijg wordt in nieuwe kolommen aangemaakt.
Bijvoorbeeld de onderhoudskosten voor mijn auto
Jan Feb Maart
Banden 10 15 8
Benzine 30 31 32
Olie 5 5 4
Soms krijg ik nog een rekening uit januari
Graag wil ik dat de data automagisch onderelkaar wordt gesorteerd met de maand er achter
Je zou dus in dit geval 9 aparte regels krijgen
Is dit mogelijk in excel en zo ja hoe?
Haha, ik ben echt zo'n idioot dus. Ik had zelf heel doelbewust die $ voor de 1 gezet, maar dit niet bedacht. Misschien toch monnik worden!quote:Op dinsdag 29 april 2014 21:01 schreef snabbi het volgende:
[..]
$A2+E$1
De dollar voor de A zorgt ervoor dat het altijd A blijft, ook als je hem sleept of kopieert naar een andere locatie.
Wat is de reden dat je ze 1x1 wil?quote:Op woensdag 30 april 2014 16:10 schreef sylvesterrr het volgende:
Iemand ervaring met een Excel worksheet met cellen van 1px breed en 1px hoog? Ik loop continu te kloten met merged cells en column widths wanneer ik iets moet toevoegen.
Daarom ben ik van plan om standaard met cellen van 1x1px te werken, en daar waar nodig cellen te mergen.
De hoogte zou op zich nog wel standaard kunnen blijven, maar als ik toch bezig ben...quote:Op woensdag 30 april 2014 16:14 schreef MichielPH het volgende:
[..]
Wat is de reden dat je ze 1x1 wil?
Ik heb wel een kalender van tig kolommen. Hoogte is standaard en de breedte is 1px geloof ik. Ik heb er alleen geen tekst in, de cellen worden gevuld met een kleurtje..quote:Op woensdag 30 april 2014 16:10 schreef sylvesterrr het volgende:
Iemand ervaring met een Excel worksheet met cellen van 1px breed en 1px hoog? Ik loop continu te kloten met merged cells en column widths wanneer ik iets moet toevoegen.
Daarom ben ik van plan om standaard met cellen van 1x1px te werken, en daar waar nodig cellen te mergen.
Interessant. Vooral omdat het precies is wat ik al als zzper doe, maar dan in een team en op PO gericht.quote:Op woensdag 30 april 2014 23:09 schreef qu63 het volgende:
Zijn er nog VBA-specialisten op zoek naar een nieuwe job? www.randstad.nl/vacatures(...)plicatieontwikkelaar
Ik heb geen idee, kwam dit tegen tijdens mijn vacaturezoektocht..quote:Op donderdag 1 mei 2014 06:56 schreef Holy_Goat het volgende:
[..]
Interessant. Vooral omdat het precies is wat ik al als zzper doe, maar dan in een team en op PO gericht.
Maar.... 36u pw? Hoe mega veel hebben ze te ontwikkelen dan ? Neem aan dat een vaste aanstelling er niet in zit want als je echt goed bent maak je jezelf al snel overbodig.
Menig hedgefund heeft meerdere fulltime in dienst.quote:Op donderdag 1 mei 2014 06:56 schreef Holy_Goat het volgende:
[..]
Interessant. Vooral omdat het precies is wat ik al als zzper doe, maar dan in een team en op PO gericht.
Maar.... 36u pw? Hoe mega veel hebben ze te ontwikkelen dan ? Neem aan dat een vaste aanstelling er niet in zit want als je echt goed bent maak je jezelf al snel overbodig.
Eerst de cellen selecteren (A1:A5 oid) en dan in de bovenste cel de functie invoeren en bevestigen met ctrl+shift+enter.quote:Op vrijdag 2 mei 2014 00:26 schreef Speculant. het volgende:
Een vraagje:
ik probeer telkens een =min(if(............)) in de array stand te krijgen met ctr shift enter, maar dat weigert excel nu telkens. Voorheen ging dit wel. Ik zie zo snel niet in wat ik verkeert doe. Iemand een idee?
Excel 2013 Engels
Nee, geen foutmelding. Excel lijkt enkel te reageren op shift+enter oftewel hij gaat een veld omhoog.quote:Op vrijdag 2 mei 2014 00:32 schreef qu63 het volgende:
[..]
Eerst de cellen selecteren (A1:A5 oid) en dan in de bovenste cel de functie invoeren en bevestigen met ctrl+shift+enter.
Of krijg je een specifieke foutmelding?
Dat is de functie idd! Ik ga ff ermee experimenteren.quote:
Jaquote:Op zondag 4 mei 2014 18:17 schreef static het volgende:
Ik gebruik een pivot-table met filter; kan ik die op de een of andere manier naar een powerpoint kopiereren zodat ik in powerpoint nog handmatig kan filteren?
Beetje late reactie, maar snabbi's workaround werkt perfect!quote:Op maandag 28 april 2014 20:55 schreef snabbi het volgende:
[..]
Het verminken van de kolommen wordt veroorzaakt door zachte returns en door het gebruik van opsommingstekens in Word, dat verkeerd vertaald wordt in Excel. Voor deze twee problemen heb ik een workaround aangeboden. Jouw workaround werkt natuurlijk ook, maar het nadeel is dat wanneer je diverse bestanden hebt je nog steeds de handeling in de diverse bestanden moet uitvoeren.
Wat ik nu heb gedaan is de cleanup macro laten aanmaken in Normal.dot, wat je kunt aanroepen vanuit Excel, voordat je gaat kopieren.
Totdat je erop klikt om een filter te kiezen en er dan wordt gepiept dat er niet genoeg werkgeheugen is. Kan ik me niet voorstellen.quote:
Ja alle datums die ik nodig heb staan in de linkerkolom.quote:Op woensdag 7 mei 2014 16:58 schreef Janneke141 het volgende:
Staan alle datums die je nodig hebt in de linker kolom, of zijn er ook datums in de rechter kolom die links niet voorkomen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Private Sub doRestrictPivots() Dim WS As Worksheet Dim PT As PivotTable Dim PF As PivotField Dim isAllowed As Boolean isAllowed = False On Error Resume Next For Each WS In ActiveWorkbook.Worksheets For Each PT In WS.PivotTables PT.EnableFieldDialog = isAllowed PT.EnableFieldList = isAllowed PT.EnableDataValueEditing = isAllowed For Each PF In PT.PivotFields PF.EnableItemSelection = isAllowed PF.DragToColumn = isAllowed PF.DragToData = isAllowed PF.DragToHide = isAllowed PF.DragToPage = isAllowed PF.DragToRow = isAllowed Next PF Next PT Next WS End Sub |
quote:Op donderdag 8 mei 2014 11:41 schreef DaviniaHR het volgende:
Als ik dit rechtstreeks in de macro-ding plak, wordt het rood en gebeurt er niets.
Als ik dan op F5 druk, krijg ik een pop-up dat ik een sub moet aanmaken.
Wat doe ik verkeerd?
Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?quote:Op donderdag 8 mei 2014 15:10 schreef sylvesterrr het volgende:
Ik zei toch dat je nagenoeg niets meer kan doen?
Dat durf ik zo 1,2,3 niet te zeggen. Mijn gebruikers mogen de standaardfilters niet gebruiken vanwege de vele pivot tables die ik filter met behulp van slicers.quote:Op vrijdag 9 mei 2014 12:51 schreef DaviniaHR het volgende:
[..]
Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?
Niet nieuwe filters inslepen, maar wel op het knopje drukken, zeg maar?
regel 15quote:Op vrijdag 9 mei 2014 12:51 schreef DaviniaHR het volgende:
[..]
Is er een regeltje in de sub die ik kan ewghalen waardoor je wel de rapportfilters kunt instellen?
Niet nieuwe filters inslepen, maar wel op het knopje drukken, zeg maar?
1 2 3 4 5 6 7 | Function getdecimals2(ByVal value As Double) As Double Dim a As Double Dim b As String a = Round(value * 100, 0) b = CStr(Right(a, 2)) getdecimals2 = CDbl(b) / 100 End Function |
Het is maar wat je als zo'n grote onnauwkeurigheid beschouwd (0,00000000000116415210804632quote:Op zaterdag 10 mei 2014 14:31 schreef Holy_Goat het volgende:
Lieve mensen.
Waarom de fuck gebeurt dit?
[ afbeelding ]
Ik verwacht gewoon 0.03 als antwoord.
Wel via een omweg opgelost nu, maar slaat echt nergens op
[ code verwijderd ]
Zit er zo een onnauwkeurigeheid in?
Mooie oplossing maar gaat inderdaad niet altijd op.quote:Op zaterdag 10 mei 2014 18:03 schreef snabbi het volgende:
returnsdecimals = Round(value - Round(value), 2)
1 2 3 4 5 6 | Sub aa() Dim a As Double a = Round(213.82 - Round(213.82), 2) If a < 0 Then a = a + 1 Debug.Print a >> geeft 0.82 End Sub |
returnsdecimals = Round(value - Application.WorksheetFunction.Floor(value, 1), 2)quote:Op zaterdag 10 mei 2014 19:10 schreef Speculant. het volgende:
je vergeet dat er ook naar boven kan worden afgerond.
Voor ons is het net alsof je 3100,03 - 3100 doet. Dit is 0,03quote:Op zaterdag 10 mei 2014 22:17 schreef Holy_Goat het volgende:
Maarem, waarom gaat het dan fout in mijn eerdere voorbeeld?
Dankjewel voor je uitlegquote:Op zondag 11 mei 2014 10:16 schreef snabbi het volgende:
[..]
returnsdecimals = Round(value - Application.WorksheetFunction.Floor(value, 1), 2)
[..]
Voor ons is het net alsof je 3100,03 - 3100 doet. Dit is 0,03
Voor de computer is het echter 3100,02999999988358 - 3100
Dit komt doordat de computer dus de dichtsbijzijnde floating point weergave zoekt die 3100,03 benaderd. 3100 hoeft hij niet te benaderen, want alleen decimalen en getallen groter dan 15 cijfers moeten worden benaderd.
Nu weet de computer wel dat hij 3100,02999999988358 moet weergeven als 3100,03, maar dat is niet zo voor 0,02999999988358. 0,03 heeft namelijk een andere floating point representatie, deze is bijvoorbeeld 0,030000001344.
PS ik ben te lui geweest om de echte getallen er bij te zoeken
Door het rekenen met de andere getallen die niet als floating point hoeven weergegeven te worden, verliest de computer de type weergave uit het oog.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |