Excel VBA BTW berekenen (inclusief)

Status
Niet open voor verdere reacties.

mecano

Gebruiker
Lid geworden
27 mrt 2010
Berichten
5
Hallo forumleden,

Aller eerst heb ik het forum doorzocht wel wat hints mee gekregen maar kom er niet verder mee
De bedoeling is het BTW bedrag te berekenen de BTW wordt ingevoerd in cel C4 (variabel 21% 6% of naar keuze)
in kolom D:D wordt het bedrag inclusief btw ingevuld (voorbeeld € 100) in kolom E:E komt het BTW bedrag (in dit geval € 17,36)

gebruikte formule
=$D10/(1+C$4)*C$4

de bedragen zijn doorlopend in de kolom, nou dacht ik te kunnen doen via validatie (=E:E/(1+C$4)*C$4), maar dat werkt niet, van VBA weet ik te weinig af en formule doorvoeren is geen optie

Code:
Private Sub BTW()
'
' BTW
    ActiveCell.FormulaR1C1 = "=RC8/(1+R7C[-5])*R7C[-5]"
    Range("D7").NumberFormat = "0%"
End Sub

alvast bedankt groet mecano

Bekijk bijlage btw_doorvoeren2.xls
 
Laatst bewerkt:
je kunt de formule in E10 door trekken naar beneden, dan heb je in alle cellen de zelfde formule.
dat is wat ik begrijp uit je verhaal.
mocht het niet zo zijn dan kijken we voor een andere oplossing.
Perry
 
perryvg, bedankt voor je antwoord,

perryvg zei:
formule in E10 door trekken naar beneden
is daar geen VBA code voor zodat de hele kolom E automatisch wordt berekend

zoiets als dit maar dan eenmalig de procenten opgeven in cel C4
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column = 1 Or Target.Column = 4 Then
    Application.EnableEvents = False
    Select Case Target.Column
        Case 1
            Target.Offset(, 2).Value = Target.Value * Target.Offset(, 1).Value
            Target.Offset(, 3).Value = Target.Value * (1 + Target.Offset(, 1).Value)
        Case 4
            Target.Offset(, -1).Value = Target.Value / (1 + Target.Offset(, -2).Value) * Target.Offset(, -2).Value
            Target.Offset(, -3).Value = Target.Value / (1 + Target.Offset(, -2).Value) * 1
      End Select
    Application.EnableEvents = True
    End If
End Sub
 
je kunt ook met tabellen werken.
heb er een voorbeeld bij gedaan van jou file.
elke keer als je een regel toevoeg worden de formules door gekopieerd, en de tabel langer gemaakt.
dus kun je jou lijst zo lang maken als je zelf wil.

Perry

p.s. ik heb dit in excel 2013 gedaan, maar zal niets schelen in 2010.


Bekijk bijlage Kopie van btw_doorvoeren2.xls
 
ik heb in jou file de cel actief gemaakt(op klikken),
dan ga je naar de tab invoegen.
daar zie je tabellen staan, aanklikken.
je krijgt een popup en in je scherm een alternatieve selectie.
in jou geval gewoon accepteren.
en er gebeurt precies wat jij wil hebben.
als bij je tabel even niet alles wordt door gekopieerd, moet je de eerste keer even de formule doortrekken.
Perry
 
hoe de combinatie tussen deze manier en beveiligen van de file weet ik helaas ook niet.
daar weet een andere forum gebruiker misschien wel een antwoord op.
Perry
 
ok tot zover bedankt voor je hulp misschien toch overgaan naar VBA

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim bedrag As Range
   Set bedrag = Application.Intersect(Range("D10").EntireColumn, Target)
   If Not bedrag Is Nothing Then
       Target.Offset(0, 1).Value = bedrag / (1 + Range("C4")) * (Range("C4"))
   End If
End Sub
Geen idee of het zo hoort maar de berekening klopt wel.


Nu nog de kolom waarden verversen wanneer in C4 de procenten veranderd worden en de beveiliging :rolleyes:
 

Bijlagen

  • btw_doorvoeren3.xls
    39 KB · Weergaven: 63
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan