Printe flere ark til pdf i en anden rækkefølge end de forekommer i mappen

I en mappe med flere ark, skal to af disse udskrives samlet til en pdf-fil. Fakturaen skal have et nummer/navn, som allerede står i A1 i arket Faktura. Dette navn skal være filnavn på pdf-filen, som skal gemmes i mappen C:>Fakturaer.

Det er i sig selv forholdsvis nemt, men udfordringen er, at arkene skal udskrives i en anden rækkefølge end den de forekommer i i mappen. Her kan rækkefølgen fx være

De to ark, der skal udskrives er henholdsvis Faktura og Bilag, men de skal udskrives så Faktura kommer først i pdf-filen og Bilag sidst. Excel vil altid udskrive flere markerede ark i den rækkefølge, de står i projektmappen. Man kan naturligvis flytte arkene manuel inden man udskriver, men denne makro gør arbejdet.

Sub GemPDF()

' Variable erklæres
    Dim navn As String, foerark As String

' De variable tildeles værdi.
' Dels indholdet af faktura celle A1, der skal være filnavn
' og navnet på det ark, der er placeret lige før arket Faktura i mappen

    navn = Sheets("Faktura").Range("a1").Value
    foerark = Sheets("Faktura").Previous.Name

' Så flyttes arket Faktura hen foran arket Bilag
Sheets("Faktura").Move Before:=Sheets("Bilag")
 

' De to ark vælges
Sheets(Array("Bilag", "Faktura")).Select

'De to ark eksporteres til pdf-filen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Fakturaer\" & navn & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

'Arket faktura flyttes tilbage, hvor de kom fra
Sheets("Faktura").Move after:=Sheets(foerark)

End Sub

- Tilbage til makroer -
- Tilbage til Excel -