Excellerend
Gebruiker
- Lid geworden
- 8 nov 2011
- Berichten
- 68
Beste Forumleden,
Ik heb een vraagstuk waar ik met mijn zeer beperkte VBA-kennis niet uit kom.
Ik heb een Excel bestand bedoeld als weekrapport (versimpelde versie, zie bijlage) waarin 7 tabbladen zijn opgenomen, voor elke dag van de week 1. (Genaamd: "Maandag", "Dinsdag", "Woensdag", etc.)
Nu moet het personeel de keuze krijgen welke dag (dus welk tabblad) zij willen printen of verzenden per email (in Excel of in PDF), heeft o.a. te maken met verschillende opdrachtgevers.
Ik heb daarvoor een UserForm ("Afdrukkeuze") gemaakt. Op de Form staat voor elke dag een CheckBox welke allemaal zijn hernoemd. (b.v. de checkbox voor maandag = "CB_Maandag")
Ik heb alleen de optie verzenden-als-Excel opgenomen in de versimpelde versie. Hiervoor gebruik ik (uiteraard) de code van Ron de Bruin.
Ron heeft een mooie code om meerdere tabbladen te verzenden via de Array optie:
Nu heb ik deze code geprobeerd om te bouwen naar mijn wens:
Enkel geeft dit niet het gewenst resultaat. Na het kopiëren van het eerste aangevinkte tabblad moet het volgend aangevinkte tabblad erna gekopieerd worden in hetzelfde bestand (iets met CopyAfter en een Loop?)
Ik kom er niet uit, ondanks een aantal uren stoeien, kunnen jullie mij aan het gewenste resultaat helpen?
Alvast bedankt,
Peter
Bijlage: Bekijk bijlage Afdrukkeuze via Userform.xlsm
Ik heb een vraagstuk waar ik met mijn zeer beperkte VBA-kennis niet uit kom.
Ik heb een Excel bestand bedoeld als weekrapport (versimpelde versie, zie bijlage) waarin 7 tabbladen zijn opgenomen, voor elke dag van de week 1. (Genaamd: "Maandag", "Dinsdag", "Woensdag", etc.)
Nu moet het personeel de keuze krijgen welke dag (dus welk tabblad) zij willen printen of verzenden per email (in Excel of in PDF), heeft o.a. te maken met verschillende opdrachtgevers.
Ik heb daarvoor een UserForm ("Afdrukkeuze") gemaakt. Op de Form staat voor elke dag een CheckBox welke allemaal zijn hernoemd. (b.v. de checkbox voor maandag = "CB_Maandag")
Ik heb alleen de optie verzenden-als-Excel opgenomen in de versimpelde versie. Hiervoor gebruik ik (uiteraard) de code van Ron de Bruin.
Ron heeft een mooie code om meerdere tabbladen te verzenden via de Array optie:
Code:
With Sourcewb
Set TheActiveWindow = ActiveWindow
Set TempWindow = .NewWindow
.Sheets(Array("Maandag", "Dinsdaf")).Copy
End With
Nu heb ik deze code geprobeerd om te bouwen naar mijn wens:
Code:
With Sourcewb
Set TheActiveWindow = ActiveWindow
Set TempWindow = .NewWindow
If Me.CB_Maandag = True Then
.Sheets("Maandag").Copy
End If
If Me.CB_Dinsdag = True Then
.Sheets("Dinsdag").Copy '<-- Enkel de laatste wordt gekopieerd
End If
End With
Enkel geeft dit niet het gewenst resultaat. Na het kopiëren van het eerste aangevinkte tabblad moet het volgend aangevinkte tabblad erna gekopieerd worden in hetzelfde bestand (iets met CopyAfter en een Loop?)
Ik kom er niet uit, ondanks een aantal uren stoeien, kunnen jullie mij aan het gewenste resultaat helpen?
Alvast bedankt,
Peter
Bijlage: Bekijk bijlage Afdrukkeuze via Userform.xlsm