Graag zou ik onderstaande code aanpassen:
Zodat hij in kolom 5 en 6 de formule neerzet en dat hij op het laatste alles optelt met autosom nu heb ik onderstaande al aangepast en dat plaatst de formule in de gewenste cellen alleen telt hij het niet meer op en komt de formule daar dus te staan ipv het totaal van de kolom.
Ik vermoed dat het te maken heeft dat "ar" er niet voor of bij staat maar krijg niet gevonden hoe ik dat dan wel zou moeten gebruiken.
Als ik bovenste code gebruik en er staat ergens een lege rij tussen dan krijg ik een fout melding is dat zo aan te passen dat hij die dan overslaat en alsnog doorgaat?
VB2
Code:
Sub FacturenAanpassen()
Application.ScreenUpdating = False
For Each sh In Sheets
With sh.Cells(10, 1).CurrentRegion
ar = .Resize(.Rows.Count + 2).Value
For j = 1 To UBound(ar) - 2
ar(j, 4) = ar(j, 4) / ar(j, 3)
ar(j, 5) = ar(j, 4) * ar(j, 3)
ar(j, 6) = ar(j, 5) * 1.21
t1 = t1 + ar(j, 3)
t2 = t2 + ar(j, 5)
t3 = t3 + ar(j, 6)
Next j
ar(j + 1, 3) = t1
ar(j + 1, 5) = t2
ar(j + 1, 6) = t3
.Resize(UBound(ar)) = ar
End With
sh.Range("C:F").HorizontalAlignment = xlCenter
sh.Range("D:D,F:F").Columns.Insert
sh.Columns(6).Insert
sh.Cells(j + 10, 3).Resize(, 7).Borders(xlEdgeTop).Weight = xlMedium
sh.Cells(j + 10, 3).NumberFormat = "General"
sh.Cells(j + 10, 7).Resize(, 3).NumberFormat = "$ #,##0.00"
t1 = 0: t2 = 0: t3 = 0
Next sh
End Sub
Zodat hij in kolom 5 en 6 de formule neerzet en dat hij op het laatste alles optelt met autosom nu heb ik onderstaande al aangepast en dat plaatst de formule in de gewenste cellen alleen telt hij het niet meer op en komt de formule daar dus te staan ipv het totaal van de kolom.
Ik vermoed dat het te maken heeft dat "ar" er niet voor of bij staat maar krijg niet gevonden hoe ik dat dan wel zou moeten gebruiken.
Code:
Sub FacturenAanpassen()
Application.ScreenUpdating = False
For Each sh In Sheets
With sh.Cells(10, 1).CurrentRegion
ar = .Resize(.Rows.Count + 2).Value
For j = 1 To UBound(ar) - 2
ar(j, 4) = ar(j, 4) / ar(j, 3)
ar(j, 5) = "=PRODUCT(RC[-1],RC[-2])"
ar(j, 6) = "=PRODUCT(RC[-1],1.21)"
t1 = t1 + ar(j, 3)
t2 = t2 + ar(j, 5)
t3 = t3 + ar(j, 6)
Next j
ar(j + 1, 3) = t1
ar(j + 1, 5) = t2
ar(j + 1, 6) = t3
.Resize(UBound(ar)) = ar
End With
sh.Range("C:F").HorizontalAlignment = xlCenter
sh.Range("D:D,F:F").Columns.Insert
sh.Columns(6).Insert
sh.Cells(j + 10, 3).Resize(, 7).Borders(xlEdgeTop).Weight = xlMedium
sh.Cells(j + 10, 3).NumberFormat = "General"
sh.Cells(j + 10, 7).Resize(, 3).NumberFormat = "$ #,##0.00"
t1 = 0: t2 = 0: t3 = 0
Next sh
End Sub
Als ik bovenste code gebruik en er staat ergens een lege rij tussen dan krijg ik een fout melding is dat zo aan te passen dat hij die dan overslaat en alsnog doorgaat?
VB2