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

Aantal decimalen in excel tot 2 beperken???????????

Status
Niet open voor verdere reacties.

dscjve

Gebruiker
Lid geworden
23 jan 2017
Berichten
19
Voorbeeldkolom er bijVanuit mijn orderadministratie produceer ik via VBA een excelsheet die dient voor doorboeken naar Snelstart.
Hoe kan ik er voor zorgen dat alle kolommen er in 2 decimalen staan want Snelstart accepteert geen verschilletjes????

Met dank alvast Co van Eijkelenburg

Voorbeeldbestandje vanuit VBA gemaaakt met:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Kingjounieuw", "d:\Kingjounieuw.xls", True

Bedrag Debet Bedrag Credit
121,000000 0,000000
347,880005 0,000000
484,000000 0,000000
919,599976 0,000000
114,949997 0,000000
424,100006 0,000000
169,399994 0,000000
1972,300049 0,000000
243,210007 0,000000
102,849998 0,000000
275,279999 0,000000
381,149994 0,000000
0,000000 400,000000
0,000000 5,000000
0,000000 100,000000
0,000000 287,500000
0,000000 760,000000
0,000000 95,000000
0,000000 300,000000
0,000000 140,000000
0,000000 1562,500000
0,000000 201,000000
0,000000 85,000000
 
Laatst bewerkt:
Meer vraagtekens is sneller antwoord denk je? :)

Ik denk dat de helpers hier prijs stellen op een representatief voorbeeldbestandje. Dan kan er wellicht in de VBA code het e.e.a. bijgeschaafd worden.
 
Bedankt voor het idee maar de andere decimalen blijven toch onzichtbaar staan

Hoe kan ik de niet zichtbare decimalen nu wegkrijgen?
 
Post eens een vb bestandje met een paar kolommen & uw macro. Mijn glazen bol ligt bij mijn schoonmoeder.:confused:
 
Excel sheet tot 2 decimalen beperken

Voorbeeldbestandje

Voorbeeldbestandje vanuit VBA gemaaakt met:

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Kingjounieuw", "d:\Kingjounieuw.xls", True

Vooral in kolom 1 zitten veel decimalen en die moeten er af. Opties zoals Round(... geeft alleen zichtbaar 2 decimalen en de rest van de decimalen blijft ondzichtbaar staan. Daar Kan Snelstart niet tegen

Bedrag Debet Bedrag Credit
121,000000 0,000000
347,880005 0,000000
484,000000 0,000000
919,599976 0,000000
114,949997 0,000000
424,100006 0,000000
169,399994 0,000000
1972,300049 0,000000
243,210007 0,000000
102,849998 0,000000
275,279999 0,000000
381,149994 0,000000
0,000000 400,000000
0,000000 5,000000
0,000000 100,000000
0,000000 287,500000
0,000000 760,000000
0,000000 95,000000
0,000000 300,000000
0,000000 140,000000
0,000000 1562,500000
0,000000 201,000000
0,000000 85,000000
 
Met een voorbeeldbestand wordt een Excel bestand bedoeld. Twee keer hetzelfde plaatsen heeft weinig toegevoegde waarde.

Draai eerst deze code voordat je gaat exporteren

Code:
Sub VenA()
For Each cl In Cells.SpecialCells(2, 1)
  cl.Value = Round(cl, 2)
Next cl
End Sub
 
Opgelost

Al begrijp ik de kode nog niet helemaal het werkt wel. Jouw kode in Excel opgenomen en klaar!
Bij veel gegevens soms een melding bereik vergroten e.d.

Zeer bedankt VenA
 
Bij veel gegevens soms een melding bereik vergroten e.d.
Je bent wel van de cryptogrammen.

In basis wordt er een filter op jouw hele werkblad gezet met alleen getallen. Vervolgens worden deze getallen afgerond op 2 cijfers achter de komma. Deze procedure is vrij traag omdat er, weliswaar binnen een al gefilterd bereik, cel voor cel wordt gelezen en terug geschreven naar het werkblad. Dit kan veel sneller door de gegevens in een array te plaatsen en dan de afronding te doen en het geheel in één keer weer terug te zetten.

Maar als het niet bekend is waar wat staat dan maar deze trage methode.

Met de gegevens in kolom A en B beginnend in A1 met kolomkoppen.

Code:
Sub VenA()
With Sheet1.Cells(1).CurrentRegion
  ar = .Value
  For j = 2 To UBound(ar)
    ar(j, 1) = Round(ar(j, 1), 2)
    ar(j, 2) = Round(ar(j, 2), 2)
  Next
  .Value = ar
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan