• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Print button

  • Onderwerp starter Onderwerp starter Calc
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Calc

Gebruiker
Lid geworden
25 jun 2008
Berichten
20
Goedendag,

Ik heb een bestand met daarin diverse tabbladen. Deze tabbladen zijn grotendeels beveiligd tegen schrijven en selecteren (maar enkele cellen zijn niet beveiligd zodat er een invoer plaats kan vinden).

Waar ik naar opzoek ben is een manier waarop ik een print button krijg.
Wanneer er op deze print button geclickt wordt dan wil ik graag dat er een selectie plaats kan vinden van welke sheets er uitgeprint moeten gaan worden, maar de hidden sheets mogen daar niet tussen staan.

Wanneer bovenstaande niet mogelijk is dan zou ik graag een manier hebben waarbij ik op voorhand aangeef welke sheets er geprint gaan worden (dan zou ik dus verschillende buttons kunnen plaatsen in mijn bestand).

Een andere optie waar ik nog aan heb zitten denken is dat het commando CTRL+P een vaste output geeft van sheets. (hierbij geef ik dus bij het maken van het excel bestand aan welke sheets geprint gaan worden wanneer het commando ctrl+p gebruikt wordt, maar kan me voorstellen dat dit in zijn geheel niet mogelijk is).

Hopelijk kan een van jullie me een eindje in de goede richting brengen.

Alvast bedankt voor het delen van jullie kennis.

M.vr.gr.
 
Ik heb deze code nu, maar als ik een andere pagina wil printen dan de eerste dan slaat hij vast en krijg ik runtime error 1004...

Private Sub CommandButton1_Click()
Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet As Worksheet
Dim cb As CheckBox
Application.ScreenUpdating = False

If ActiveWorkbook.ProtectStructure Then ' Check for protected workbook
MsgBox "Workbook is protected.", vbCritical
Exit Sub
End If

Set CurrentSheet = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add ' Add a temporary dialog sheet

SheetCount = 0

TopPos = 40 ' Add the checkboxes
For i = 1 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i) ' Skip empty sheets and hidden sheets
If Application.CountA(CurrentSheet.Cells) <> 0 And CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
PrintDlg.CheckBoxes(SheetCount).Text = CurrentSheet.Name
TopPos = TopPos + 13
End If
Next i

PrintDlg.Buttons.Left = 240 ' Move the OK and Cancel buttons

With PrintDlg.DialogFrame ' Set dialog height, width, and caption
.Height = Application.Max(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 230
.Caption = "Selecteer de te printen werkbladen"
End With

PrintDlg.Buttons("Button 2").BringToFront ' Change tab order of OK and Cancel buttons
PrintDlg.Buttons("Button 3").BringToFront ' so the 1st option button will have the focus

Sheet20.Activate

Application.ScreenUpdating = True ' Display the dialog box
If SheetCount <> 0 Then
If PrintDlg.Show Then
For Each cb In PrintDlg.CheckBoxes
If cb.Value = xlOn Then
Worksheets(cb.Caption).Select Replace:=False
End If
Next cb
ActiveWindow.SelectedSheets.PrintOut copies:=1
ActiveSheet.Select
End If
Else
MsgBox "Alle werkbladen zijn leeg."
End If

Application.DisplayAlerts = False ' Delete temporary dialog sheet (without a warning)
PrintDlg.Delete
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan