PDF maken van variabele rijen op basis van geselecteerde cellen

Status
Niet open voor verdere reacties.

Excellerend

Gebruiker
Lid geworden
8 nov 2011
Berichten
68
Beste Helpmij-leden,

Een VBA vraag aangaande het maken van een PDF (via code van Ron de Bruin).
De onderstaande code is tevens verwerkt in het voorbeeldbestand.
Code:
Sub Bestand_mailen_PDF()
    Dim FileName As String
    
    ActiveSheet.Unprotect
    
 [I]   [B]MsgBox "Kies in de volgende twee menu's een beginrij en eindrij. Kies 'Annuleren' als het gehele blad afgedrukt moet worden."
    x = InputBox("Kies de beginrij", "Printbereik", vbOKCancel)
    y = InputBox("Kies de eindrij", "Printbereik", vbOKCancel)[/B][/I]
    
        
    If ActiveWindow.SelectedSheets.Count > 1 Then
        MsgBox "Er is meer dan één tabblad geselecteerd," & vbNewLine & _
               "selecteer het juiste tabblad en probeer het opnieuw."
    Else
        
        FileName = Create_PDF(Range([I][B]"A" & x & ":" & "R" & y[/B][/I]), ThisWorkbook.Path & "\[RAPPORT] " & Range("A3") & " " & Range("D3") & " -" & Format(Date, " dd-mm-yyyy") & ".pdf", True, False)
        
        If FileName <> "" Then
            Mail_PDF_Outlook FileName, "", "[RAPPORT] " & ActiveSheet.Range("A3") & " " & ActiveSheet.Range("D3") & " -" & Format(Date, " dd-mm-yyyy"), _
                                 "", False

        Else
            MsgBox "Het is niet mogelijk de rapportage te maken, mogelijke redenen zijn:" & vbNewLine & _
                   "Microsoft Add-in is niet geinstalleerd" & vbNewLine & _
                   "De rapportage is niet op de schijf opgeslagen" & vbNewLine & _
                   "De pad van het bestand is niet toegankelijk"
        End If
    End If
    
    ActiveSheet.Protect
          
    If MsgBox("Wilt uw de zojuist verzonden rapportage apart opslaan op uw computer?", vbYesNo + vbQuestion, "Opslaan") = vbNo Then Kill FileName

End Sub

Het gaat met name om het schuin/vetgedrukte deel. Bij het aanroepen van de macro vraagt een Msgbox en een tweetal Inputboxen of het gehele werkblad geprint moet worden of slecht een aantal rijen.
Voor een aantal rijen moet in de Inputboxen een begin- en eindrij worden opgegeven, voor het gehele werkblad volstaat men door de Inputboxen de Annuleren. (Lastige hiervan is dat de optie If vbCancel = True Then Exit Sub niet mogelijk is.)

De vraag; is het mogelijk dat als men in het werkblad een aantal cellen selecteert (in kolom A, rijen is niet mogelijk omdat het blad deels beveiligd is) men op basis van die selectie de gehele rijen opslaat als een PDF.
Dus het eindresultaat van de macro is uiteindelijk hetzelfde als wat het nu doet, maar de macro moet eerst kijken of er een aantal (cellen) geselecteerd is.
Zo ja, die selectie uitbreiden naar rijen en PDF-en.
Zo nee, het gehele blad PDF-en.

Alvast bedankt!

Grt Peter
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan