Voorraad wordt niet afgeboekt

Status
Niet open voor verdere reacties.

Erc

Gebruiker
Lid geworden
30 jul 2014
Berichten
119
Hallo

Ik werd hier eerder op het forum al geholpen met een gelijkaardig probleem. Een tijdje terug kon ik a.d.h.v. een macro werkblaadjes afdrukken m.b.v. een knop. Als ik gebruikmaakte van de printknop, werden de werblaadjes afgedrukt en het voorraad werd ook afgeboekt.

Als ik nu klik op de knop, wordt het werkblad leveringsbon en factuur, 2x afgedrukt, maar wordt mijn voorraad niet meer afgeboekt. Aan de code heb ik eigenlijk niets veranderd maar toch werkt het niet meer.

Wat is er mis met de code?

Code:
Sub PrintTWB()
Sheets("Leveringsbon").Select
    Range("A1:E36").Select
    Selection.PrintOut Copies:=2, Collate:=True
    Sheets("Factuur").Select
    Range("A1:H36").Select
    Selection.PrintOut Copies:=2, Collate:=True
    ActiveWorkbook.Save
    MsgBox "Klaar"
    
End Sub

Sub BoekAf()

'Nog afteboeken artikelen
For Each cl In Sheet3.Range("A15:A30")
If cl > 0 Then
iRow = Blad1.Range("A:A").Find(cl.Value, , xlValues, xlWhole, , , False).Row
Aantal = cl.Offset(0, 1).Value
TotA = Blad1.Cells(iRow, "D").Value
Blad1.Cells(iRow, "D").Value = TotA - Aantal
End If
Next
MsgBox "Klaar"
End Sub

Alvast bedankt voor jullie hulp!

Groeten
Ercan
 

Bijlagen

  • 2022okt_nog af te boeken.xlsm
    53,2 KB · Weergaven: 17
De Sub BoekAf wordt niet aangeroepen, dus wordt er niets afgeboekt.
Zo werkt het wel:
Code:
Sub PrintTWB()
    Sheets("Leveringsbon").Select
    Range("A1:E36").Select
    Selection.PrintOut Copies:=2, Collate:=True
    Sheets("Factuur").Select
    Range("A1:H36").Select
    Selection.PrintOut Copies:=2, Collate:=True
    [COLOR=#ff0000]BoekAf[/COLOR]
    ActiveWorkbook.Save
    MsgBox "Klaar"
End Sub

En als je geen 2 maar 1 exemplaar van de factuur en/of leveringsbon wilt afdrukken dan Copies:=2 even aanpassen.
En de MsgBox "Klaar" uit Sub BoekAf verwijderen, een keer op Ok drukken lijkt mij genoeg.
 
Het kan ook met VBA:

Code:
Sub PrintTWB()
  Sheets("Leveringsbon").Range("A1:E36").PrintOut 2
  Sheets("Factuur").Range("A1:H36").PrintOut 2
  ActiveWorkbook.Save
End Sub
 
Laatst bewerkt:
@snb
Is dit cynisch bedoeld?
En verder ga je geheel voorbij aan de vraag van de TS.

ctiveWorkbook.Save zal het ook niet doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan