Herhaling vraag negatief getal tussen haakjes

Status
Niet open voor verdere reacties.

masala09

Gebruiker
Lid geworden
6 aug 2012
Berichten
886
Beste allemaal,

Ik heb in het verleden de lay-out opnieuw opgezet. Feitelijk voor 1 probleem, hopende dat er een probleem in het bestand zelf zat.

Nu heb ik alles opnieuw opgezet en het VBA project in de nog af te maken layout geplaatst.

Nu blijkt... het probleem keert terug. Een negatief getal wordt tussen haakjes gezet. Ik heb landinstellingen bekeken en daar zit het gewoon goed. Er wordt netjes aangegeven dat negatieve getallen als € -1,1 moet worden genoteerd. Het VBA project maakt echter geen wijzigingen in berekeningen etc. Toch wordt een negatief getal tussen haakjes weergegeven en komt er bij celeigenschappen een regel extra te staan. Deze heb ik al geprobeerd te verwijderen, maar komt telkens weer terug.

Kan iemand mij vertellen waar het probleem nu echt zit. Ik begrijp er totaal niets meer van.

Heb Windows 7 Home en Excel 2007. Heb wel ergens iets gelezen dat het een bug schijnt te zijn, maar ik geloof daar niet zo in. Als dit zo zou zijn dan had hier toch wel een update voor geweest, lijkt mij dan.
 
Laatst bewerkt:
Je hebt al zitten zoeken begrijp ik.
Dit staat op http://www.exhelp.be/vba/443

**voorbeeld**
Het 1e deel zijn positieve getallen, het 2e deel de negatieve getallen
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
 
Laatst bewerkt:
Bron, ja ik heb al zitten zoeken en het klopt dat ik daar die info vandaan heb.

Maar ik vind nergens een oplossing. Ik kan de boel terugstellen, maar het probleem wordt telkens na een tijdje weer ingebracht. De macro zelf is het probleem niet, maar een combi tussen beide, macro en bestand, geeft het probleem. Dit probleem is echter niet enkel op mijn pc en enkel in dit bestand, maar ook op de pc van mijn vrouw voor wie ik ook een programma gemaakt heb. Ook zij draait met Windows 7 en Excel 2007 en ook bij haar is ineens het probleem ontstaan.

Ik vermoed dat het een update is geweest, maar zeker kan ik het niet zeggen. Dit omdat je niet veel te maken hebt met negatieve getallen. Ik wel ivm creditfacturen enzo en zij soms zodra er getallen in haar bestand voor financiën in de min komen.

Waar ik aan zit te denken is een oplossing via VBA, als deze er wel is tenminste, want zo diep zit ik er nog niet in. Echter dan zullen mijn berekeningen denk ik via VBA moeten gaan en niet meer via Excel. Of ik moet enkel de celeigenschappen voor de bewuste cellen in het werkblad via VBA forceren. De waarde van de cellen worden overgenomen in een ander werkblad vanwaar de factuur in opzet kan worden opgeslagen en worden uitgeprint.
 
Laatst bewerkt:
Oplossing gevonden. Eigenlijk via het door mij vergeten en door een ander ter herinnering aangedragen functie. Namelijk de macro opname toets. Hoe kon ik deze vergeten!! Ik heb er niet 100% vertrouwen in, maar voor mijn probleem werkte het wel. Ik heb de gecreëerde code in een module geplaats en aan laten roepen middels Call zodra de sheet wordt geopend via Worksheet Activate. Je kan deze code uiteraard ook plaatsen in de Worksheet Activate zelf. Zodoende hoef je de Call functie niet te gebruiken. Ik doe dit zelf wel om een beetje overzicht te houden en alle sub's op 1 plaats te houden.

Resultaat leidt tot het gewenste.

Wellicht een oplossing voor anderen die dit probleem ook ervaren. Misschien dat het ergens reeds eerder was vermeld. Mocht dit laatste zo zijn dan ter herinnering. Voor diegene die het willen gebruiken, houd er rekening mee dat de selecties zelf moeten worden aangepast. Deze oplossing is voor mij en voor jullie ter informatie. Houd er tevens rekening mee dat deze macro net als alle andere bladbewerkingen via macro niet werkt op een beveiligd blad. Om dit dan te realiseren kan simpel de code: Unprotect "xxxx" aan het begin van de onderstaande code worden toegevoegd en op het einde de code: Protect "xxxx". Op de plaatsen van de xxxx zet je de code neer die voor het werkblad geldt om de bladbeveiliging in-of uit te schakelen.

Code:
Sub Forceren_celeigenschappen()


' Deze macro is om de celeigenschappen te forceren om zodoende een juiste negeatieve notatie te realiseren


    Range("G60:I68").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Range("M60:M68").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Range("H70:I70").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Range("F72:F74").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Range("H74:I74").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    Range("H76:I76").Select
    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    ActiveWindow.SmallScroll Down:=12
End Sub
 
Laatst bewerkt:
Wat ik mij wel afvraag is de code: ActiveWindow.SmallScroll Down:=12.

Volgens mij is deze niet direct nodig en komt deze enkel opzetten met de functie: Macro opnemen. Deze kan in principe weg. Wel vraag ik mij af waar is die voor. Weet iemand dit?
 
Je hebt zitten scrollen tijdens het opnemen van de macro.
 
Klopt deed ik met het selecteren. Dus ik kan gewoon de scroll eruit halen begrijp ik.
 
Geen enkel probleem.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan