Ik heb een excel bestand waarin alle klanten staan en de orders die ze geplaatst hebben. Wanneer ik onderstaande macro uitvoer worden alle afdrukken naar de printer verzonden. Dit wil ik eigenlijk niet meer, ik wil alle afdrukken via e-mail versturen. Op zich lukt me dat wel, maar er worden allemaal apparte werkmappen gemaild, dus de ontvanger dient alle e-mails (soms wel 70) te openen om vervolgens het gegenereerde bestand te printen. Dit is niet wenselijk. Kan iemand mij helpen om onderstaande code dusdanig aan te passen zodat er één bestand gegenereerd wordt met hierin alle klanten? Hopelijk reageert iemand met een niet al te moeilijke oplossing, want mijn kennis van vba is minimaal
Sub Printlijst()
Application.ScreenUpdating = False
Sheets("DT_Cus").Select
ActiveSheet.Cells(5, 1).Activate
AantalKlanten = Selection.CurrentRegion.Rows.Count
Sheets("DT_Lijsten").Select
For i = 6 To AantalKlanten + 3
Klantnummer = Sheets("DT_Cus").Cells(i, 1).Value
Levering = Sheets("DT_Cus").Cells(i, 3).Value
Boni = Sheets("DT_Cus").Cells(i, 9).Value
Sheets("DT_Lijsten").PivotTables("Draaitabel1").PivotFields("Verkooprelatie").CurrentPage = Klantnummer
Sheets("DT_Lijsten").PivotTables("Draaitabel1").PivotFields("Soort levering").CurrentPage = Levering
If Boni = 1 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Next i
Sheets("Voorblad").Select
Application.ScreenUpdating = True
MsgBox "De lijsten zijn afgedrukt"
End Sub
Sub Printlijst()
Application.ScreenUpdating = False
Sheets("DT_Cus").Select
ActiveSheet.Cells(5, 1).Activate
AantalKlanten = Selection.CurrentRegion.Rows.Count
Sheets("DT_Lijsten").Select
For i = 6 To AantalKlanten + 3
Klantnummer = Sheets("DT_Cus").Cells(i, 1).Value
Levering = Sheets("DT_Cus").Cells(i, 3).Value
Boni = Sheets("DT_Cus").Cells(i, 9).Value
Sheets("DT_Lijsten").PivotTables("Draaitabel1").PivotFields("Verkooprelatie").CurrentPage = Klantnummer
Sheets("DT_Lijsten").PivotTables("Draaitabel1").PivotFields("Soort levering").CurrentPage = Levering
If Boni = 1 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Next i
Sheets("Voorblad").Select
Application.ScreenUpdating = True
MsgBox "De lijsten zijn afgedrukt"
End Sub