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

Getalnotatie vastzetten

Status
Niet open voor verdere reacties.

shalhevet

Gebruiker
Lid geworden
9 okt 2007
Berichten
245
Hey hoi,

Met behulp van deze forum heb ik mijn factuur bestand kunnen koppelen aan het verkoopboek bestand. Met 1 druk op de knop worden alle gegevens van de factuur direct in de verkoopboek gezet.

Zowel in het verkoopboek als in de factuur bestand heb ik voor alle bedragen de cel eigenschappen / getalnotatie op "financieel gezet". Zo krijg ik de euro teken mooi aan de linkerkant en het bedrag aan de rechter kant.

Het probleem is dat bij het overboeken van de factuur naar de verkoopboek schrijft hij als het ware de getalnotatie weg en zet deze automatisch op "Valuta". Weet iemand hoe kan ik het voorkomen?

Ik wil dat bij het overzetten blijft de getal notatie op "financieel". Op Google heb ik al geprobeerd een oplossing te vinden door te zoeken met de termen: "getalnotatie beveiligen - getalnotatie niet overschrijven - getalnotatie blokkeren" maar helaas, ik kwam niet uit.

Hopelijk weet iemand hier wel een oplossing.

Alvast bedankt
 
Shalhevet,

Doe je dit met VBA code?
ZOja dan kun je format gebruiken, zie de help van Excel.

Ik ben niet thuis en kan je niet verder helpen.
Suc6
 
Dank je wel. Ik heb gezocht hoe ik het in VBA moet doen en ben erachter dan ik de cel formaat kan kopiëren met "past special".

Zoiets dus: Selection.PasteSpecial Paste:=xlPasteFormats

Maar omdat mijn vba code anders eruit ziet dan de voorbeeld die ik had gevonden weet ik niet waar ik deze moet neerzetten.

Hieronder een kopie van mijn code:

Code:
 Sub inboeken()
    With ThisWorkbook.Sheets("Factuurbtwverlegd")
        deb_nr = .Range("F15").Value
        deb_naam = .Range("A18").Value
        ex_btw = .Range("F41").Value
        btw_perc = .Range("F42").Value
        btw_bedr = .Range("F43").Value
        tot_bedr = .Range("F44").Value
        fac_nr = .Range("F14").Value
        fac_dtm = .Range("F12").Value
        verv_dtm = .Range("F20").Value
        
        .Copy
        ActiveWorkbook.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "\Verkoop facturen\" & fac_nr & "_" & deb_naam & ".pdf"
        ActiveWorkbook.Close False
    
        Workbooks.Open ThisWorkbook.Path & "\Administratie MSL 2013.xls"
        wbnaam = ActiveWorkbook.Name
        ActiveSheet.Unprotect
    
        With Workbooks(wbnaam)
            With .Sheets("Verkoopboek")
            rij = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
                
                .Cells(rij, 2) = deb_nr
                .Cells(rij, 3) = deb_naam
                .Cells(rij, 5) = ex_btw
                .Cells(rij, 6) = btw_perc
                .Cells(rij, 7) = btw_bedr
                .Cells(rij, 8) = tot_bedr
                .Cells(rij, 9) = fac_nr
                .Cells(rij, 10) = fac_dtm
                .Cells(rij, 11) = verv_dtm
            End With
            ActiveSheet.Protect
            .Close True
        End With
        ActiveSheet.Unprotect
        .Range("F14") = .Range("F14") + 1
        ActiveSheet.Protect
        .Range("A18, A28:E32") = ""
    End With
    ThisWorkbook.Save
End Sub

Zelf dacht ik dat ik het boven de

.Cells(rij, 5) = ex_btw

moet doen maar dat heeft niet gewerkt.
 
Laatst bewerkt door een moderator:
Bedankt huijb :o

Ik weet niet hoe ik de code op deze manier moet inzetten :(
 
Heb verder zitten zoeken op het net en heb ook de volgende code gevonden:

Code:
.Cells(rij, 5) = CCur(ex_btw)

Maar dat helpt ook niet. Deze zet het weer op valuta in het bestand.

Iemand nog een idee?
 
Waarschijnlijk begrijp ik hem niet goed. Maar gaat het niet goed als je de laatste code vervangt voor:
Code:
.Cells(rij, 5) = ex_btw

Dus zonder deze om te zetten naar currency = valuta?
 
Hey Peter,

Zoals je het zegt was al in mijn originele code. Het gaat hier maar om een "schoonheidsfoutje" maar toch....

De code zoals je het zegt:

Code:
.Cells(rij, 5) = ex_btw
Stond al in mijn originele code. Heeft niet gewerkt zoals ik het wou.

Ik weet bijna zeker dat de oplossing is met de code

Code:
Selection.PasteSpecial Paste:=xlPasteFormats

maar omdat ik nergens in mijn code "Selection" heb weet ik niet waar ik deze moet plaatsen :-(
 
Dus ook als je alleen de waarde kopieert wordt de celopmaak gewijzigd? Vreemd ...

Ik weet niet of het volgende werkt, om de simpele reden dat ik niet beschik over de sheets. Maar anders is het mogelijk een zetje in de goede richting.
Code:
            With .Sheets("Verkoopboek")
            rij = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
                
                .Cells(rij, 2) = deb_nr
                .Cells(rij, 3) = deb_naam
                .Cells(rij, 5) = ex_btw
                .Cells(rij, 6) = btw_perc
                .Cells(rij, 7) = btw_bedr
                .Cells(rij, 8) = tot_bedr
                .Cells(rij, 9) = fac_nr
                .Cells(rij, 10) = fac_dtm
                .Cells(rij, 11) = verv_dtm
            End With
            [color=red]Cells(rij, 5).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"[/color]
Hiermee zet je de celopmaak na het kopiëren (terug) naar financieel.
 
Ik snap er niets van. Ik krijg keurig de notatie met €. Zie bijgevoegd plaatje. Of is dit nu juist niet de bedoeling?

Verkoopboek.jpg
 
jawel, maar wat jij hebt nu is de valuta notatie en ik wil de financieel notatie.

Met de financieel notatie wordt de Euro teken naar links uitgelijnd terwijl het bedrag zelf naar rechts uitgelijnd wordt.

Zie plaatje voor de voorbeeld.

De reden dat ik het juist met de financieel notatie wil hebben is dat alle bedragen netjes onder elkaar staan terwijl met de valuta notatie staan ze wat rommeliger onder elkaar.

notatie.jpg
 
OK. Dat lijkt mij een gevalletje dat de celopmaak in de 2e sheet anders is dan in de eerste. Dus moet je die aanpassen. I.p.v. "Financieel" selecteer je voor de betreffende cellen "Getal" --> "Aangepast" --> "_(€* #.##0,00_);_(€* (#.##0,00);_(€* "-"??_);_(@_)".

In de macro wordt de celopmaak verder niet gewijzigd, dus dan zou alles goed moeten gaan.
 
ohhh wat fijn.... hij doet het.

Ik kan het niet met woorden uitdrukken hoe dankbaar ik ben!!

Nogmaals bedankt :)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan