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

Invoeren van maximaal 2 decimalen

Status
Niet open voor verdere reacties.

S.Teeling

Gebruiker
Lid geworden
13 jul 2005
Berichten
65
Hallo, ik wil in een Excel sheet de invoer van twee kolommen (debet en credit) beperken tot 2 decimalen. Ik heb dit geprobeerd met de optie Valideren - decimalen maar krijg dit niet werkend.

Wanneer een gebruiker meerdere decimalen invoert of kopieert ontstaan er verschillen van tienden of hondersten. Als gevolg van deze verschillen kunnen de gegevens niet in de financile applicatie worden ingelezen.

Extra kolommen toevoegen met een formule afronden kan niet, het bestand kan dan niet meer worden ingelezen.

Wie weet een oplossing voor dit probleempje?
 
Cellen selecteren

- Opmaak
- Celeigenschappen
- Linker lijst: Getal
- Rechts op 2 decimalen zetten.
 
Dit is puur optisch, achter de schermen staan nog gewoon de getallen zoals deze zijn ingegeven (bv 25,0909854)

Het gaat er echt om dat het getal direct bij invoer wordt afgekapt/afgerond op 2 decimalen.
 
Is het bedoeling dat er wordt afgerond ? Dus zoiets:

=AFRONDEN(A1;2)

Of dat de waarde wordt afgebroken ? Dus zoiets:

If Len(Target) - Len(Int(Target)) > 3 Then
Target = Abs(Left(Target, Len(Int(Target)) + 3))
End If

(deze code staat ook in bijlage)
 
Laatst bewerkt:
Ja dat is wat ik bedoel. Afronden of afkappen maakt in dit geval niet veel uit.

Alleen hoe kan ik het bereik van deze macro beperken tot de cellen waar dit voor nodig is. Wellicht via het geven van een naam aan het bereik maar ik weet dan weer niet hoe ik dat in de macro kan opnemen.

Wanneer ik nu in het sheet een tekst opgeef krijg ik de volgende foutmelding:
Fout 13 tijdens uitvoering
Typen komen niet met elkaar overeen
 
Hallo Teeling,

Er is nog een leuke optie.

Ga naar cel A1, en ga naar DATA => VALIDATIE en geef het volgende in:

Toestaan: GETAL
Data : GELIJK AAN
Waarde : =INT(A1*100)/100

P.S.: Ga je nu naar een andere cel (b.v. F8) geen dan ipv A1 F8 in in de formule.

Kopieer de cel CTRL+C en selekteer de cellen die zich hetzelfde dienen te gedragen en plakken met CTRL+V

Suc6 ermee

Groeten
 
Onderstaande code werkt alleen als er in het bereik van de naam "Voorbeeld" een cel wordt gewijzigd.

If Not Intersect(Target, Range("Voorbeeld")) Is Nothing Then
If Len(Target) - Len(Int(Target)) > 3 Then
Target = Abs(Left(Target, Len(Int(Target)) + 3))
End If
End If
 
Hallo, toch snap ik het nog niet helemaal, ik heb de code in het blad module gezet maar krijg nu een fout melding als ik data buiten de range wil invoeren en in de geselecteerde range laat hij de decimalen gewoon staan.
Het bestandje met de test heb ik even bijgelsoten.
 

Bijlagen

Hallo,

Kennelijk niet met de Validatie gewerkt, die is overal toepasbaar.

Groeten
 
Ja ik heb ook de validatie geprobeerd maar dit werkt alleen per CEL. Het lukt mij niet om een cellen-bereik in de formule op te nemen. De afronding geldt slechts voor een deel van het sheet. wat doe ik hier niet goed ? (zie scherm-print).

By the way: ik heb de NL versie van MS Office 2003.
 

Bijlagen

  • validatie.jpg
    validatie.jpg
    83,3 KB · Weergaven: 125
Laatst bewerkt:
Hallo,

Ik heb even een copy van jouw bestnadje bijgevoegd en daarbij de gele cellen met de validatie ingevuld.

Het probleem met het werken met een bereik is dat de formule over het hele bereik gaat en daarmee gaat het fout.

Nu is de validatie per cel verwerkt en zoals ik al eerder melde selecteer een cel uit het gele gebied ==> CTRL+C klik op een cel in het groene gebied en dan CTRL+V

De cel in het groene gebied gedraagt zich nu het zelfde als de gele verander de kleur en het is voor elkaar.

groeten
 

Bijlagen

Bedankt voor de snelle reactie, het blijft echter fout gaan wanneer ik tekst ingeef. Het is de bedoeling dat slecht 2 kolommen of een bepaald cellen bereik worden gecontroleerd op 2 decimalen.
 

Bijlagen

  • macro.jpg
    macro.jpg
    96,3 KB · Weergaven: 108
S.Teeling zei:
Bedankt voor de snelle reactie, het blijft echter fout gaan wanneer ik tekst ingeef. Het is de bedoeling dat slecht 2 kolommen of een bepaald cellen bereik worden gecontroleerd op 2 decimalen.

Ik ben nogal slordig geweest met het aangeven waar de code moet staan. Mijn excuses hiervoor.
Ik heb de code aan het werkblad toegevoegd op de plaats waar voor het bestemd is (Voorbeeld).
De getallen worden bij mij afgerond.

Als er toch problemen zijn, dan hoor ik dat graag.
 
Laatst bewerkt:
Roncancio, Superzeeuw,

het afronden/afkappen werkt perfect, echter wanneer data in de betreffende cellen wordt gekopieerd of per abuis tekst wordt ingevoerd gaat het nog even niet goed. Er komt dan een melding "Fout 13 tijdens uitvoering".

Zie verder bijgaand file.
 

Bijlagen

Ik heb de code aangepast zodat gekeken wordt of de waarde die ingevoerd wordt een getal is.
Verder telt de code het aantal waardes die gekopieerd worden.
Dus stel dat je 3 getallen in het bereik "Voorbeeld" zet, dan wordt voor elk van die getallen afzonderlijk gekeken of het daadwerkelijk een getal is en zonodig wordt het getal voorzien van 2 decimalen.

Dit alles heb ik getest zonder foutmeldingen dus ik neem aan dat dat bij jou ook zo is.
Als het anders is, dan hoor ik dat wel van je.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan