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

Opgelost berekening BTW

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
@jverkerk
ok, dit werkt van links naar rechts maar deze bewerking zou ook van rechts naar links moeten kunnen
Dus als ik enkel de prijs aankoopexbtw heb moet de prijs aankoopinbtw berekend worden in de linkercel (aankoopinbtw) en als ik enkel de prijs aankoopinbtw heb moet de prijs aankoopexbtw berekend worden in de rechtercel (aankoopexbtw)
 
Dan dit.
De cellen met formules zijn beveiligd zonder WW.
 

Bijlagen

@jverkerk
dat heb ik ook al gedacht. vrees dat het niet op te lossen is zonder vba

Dat klopt.. je kunt niet soms een formule en soms een waarde in 1 cel hebben afhankelijk van de invoer.
maar het is niet nodig om een invulformulier te gebruiken je kunt mbv een change event macro

onderstaande code vult afhankelijk als je de prijs ex btw invult automatisch de prijs incl btw kolom en andersom.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column < 12 Or Target.Column > 13 Then Exit Sub
    If Cells(Target.Row, 12) <> "" And Cells(Target.Row, 13) <> "" Then Exit Sub

    If Target.Column = 12 Then
        Target.Offset(0, 1).Formula2R1C1 = "=RC[-1]/1.21"
    Else
        Target.Offset(0, -1).Formula2R1C1 = "=RC[1]*1.21"
    End If

End Sub

De code staat in de het VBA module Blad2(eventmacro)

Dit is dus een stuk simpeler voor de gebruiker dan een invulformulier voorgeschoteld te krijgen.
de code heeft dus ook puur als doel om te voorkomen dat je altijd zelf 2 kolommen moet vullen 1 met een waarde en de ander met de formule voor die kolom.
 

Bijlagen

iedereen alvast bedankt voor de hulp
ga morgen de laatste oplossingen uitproberen
 
Als je het met Worksheet events wilt oplossen dan zou ik het zo doen:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column < 12 Or Target.Column > 13 Then Exit Sub
    Application.EnableEvents = False
    If Target.Column = 12 Then
        Target.Offset(0, 1).Formula2R1C1 = "=RC[-1]/1.21"
    Else
        Target.Offset(0, -1).Formula2R1C1 = "=RC[1]*1.21"
    End If
    Application.EnableEvents = True
End Sub
Met de code van roeljongman kun je geen cellen meer leegmaken of wijzigen.
 
thanks Ahulpje mijn VBA code skills zijn een beetje roestig geworden..
 
FormulaR1C1 is overbodig.
Als je een cel leegmaakt bij mijn voorgangers geeft de cel ernaast een 0 als resultaat.

Waarom ook met formules?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Column = 12 Or .Column = 13 Then
     Application.EnableEvents = False
     .Offset(, IIf(.Column - 11 = 1, 1, -1)) = Choose(IIf(Target = "", 3, .Column - 11), .Value / 1.21, .Value * 1.21, "")
     Application.EnableEvents = True
   End If
End With
End Sub
 
@AHulpje
@HSV
is het mogelijk om de code aan te passen zodat dit werkt voor de kolommen (5 - 6) en (12 -13)
heb het al geprobeerd met de functie And er bij te zetten maar dan komt het resultaat telkens in de linkerkolom
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 5 Or Target.Column > 6 And Target.Column < 12 Or Target.Column > 13 Then Exit Sub
Application.EnableEvents = False
If Target.Column = 5 And Target.Column = 12 Then
Target.Offset(0, 1).Formula2R1C1 = "=RC[-1]/1.21"
Else
Target.Offset(0, -1).Formula2R1C1 = "=RC[1]*1.21"
End If
Application.EnableEvents = True
End Sub
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Column = 5 Or .Column = 6 Or .Column = 12 Or .Column = 13 Then
            Application.EnableEvents = False
            If .Column = 5 Or .Column = 12 Then
                .Offset(0, 1).Formula2R1C1 = "=RC[-1]/1.21"
            Else
                .Offset(0, -1).Formula2R1C1 = "=RC[1]*1.21"
            End If
        End If
    End With
    Application.EnableEvents = True
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan