Oprette to faneblade som PDF og gemme fil me fakturanummeret
Hejsa, Har en workbook med mange sheets, som jeg bruger til faktura udskrivning. Jeg ønsker at kunne markere to sheets (faktura+bilag), gemme de markerede sheets som PDF og hvor filnavnet skal være fakturanummeret, som står i f.eks celle A1 på "faktura"
PDF filen skal gemmes på en sti / folder, der f.eks. hedder : C:\Excel\Faktura
Håber der er nogle der kan give mig lidt kode til at løse dette :-)
Sub GemPDF() Dim nabnv As String navn = Sheets("Faktura").Range("a1").Value ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Excel\Faktura\" & navn & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True End Sub
De to ark skal være markeret inden du afspiller makroen.
Svar til jkrons: Tak…. lige hvad jeg manglede. Min tanke var at lave en makroknap, der samtidig markerede de to faneblade. Jeg har derfor tilføjet denne linje i din kode:
Sheets(Array("Faktura", "Bilag")).Select
Det virker som sådan efter hensigten, men problemet er, at i PDF filen vises ”Bilag” før ”Faktura”. Mit ønske var det modsatte…at fakturaen står først og dernæst bilaget. Jeg tænker at det skyldes rækkefølgen på fanebladene i min workbook, her er ”Bilag” nemlig placeret før ”Faktura” Findes der en smart løsning på det, eller skal jeg ommøblere min workbook ?
Enten skal du ændre rækkefølgen i din workbook, som du selv nævner, eller også skal du lave en lille sub-rutine i din makro, der ændre rækkefølgen, før udskrift, og ændre tilbage igen, efter udskrift.
#8 Hej igen.... Et yderligere spørgsmål (mer vil ha mer :-) ) Hvis jeg ønsker at gemme den same fil I en anden folder også, hvordan er koden så på det? DVS at den skal gemme både I : C:\Excel\Faktura\ plus : C:\Excel\Legal\
Du har helt ret i, at Excel udskriver (også til PDF) i den rækkefølge arkene står i mappen, men du gbehøver ikke at lave om på rækkefølgen permanent. Du kan lade makroen gøre det for dig:
Sub GemPDF() Dim navn As String Dim foerark As String navn = Sheets("Faktura").Range("a1").Value foerark = Sheets("Faktura").Previous.Name Sheets("Faktura").Move Before:=Sheets("Bilag") Sheets(Array("Bilag", "Faktura")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Excel\Faktura\" & navn & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True Sheets("Faktura").Move after:=Sheets(foerark) End Sub
Her flytter makroen "Fatura" hen før "Bilag", laver pdf-filen og flytter Faktura tilbage, hvor arket oprindeligt var placeret.
Takker for brugbart input fra jkrons & Dan Elgaard.
Har implementeret det hele I min fil.....og det virker perfekt :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.