PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAAutomatisk export av tabeller och grafer från Excel till word. Automatisk export av tabeller och grafer från Excel till word.
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2020-06-16 07:23
 

Hej,

Kortfattat så ha jag en excelfil med ca 40 blad, i varje blad har jag ett antal grafer och tabeller som jag nu med hjälp av ett makro vill exportera till word. Jag vill då ha en wordfil per blad så att säga. 

Jag har inte mycket erfarenhet alls av VBA men arbetar mycket i excel i övrigt. 

 

Jag vet int alls hur omfattade kod som skulle behövas för att lösa mitt problem, har googlat en hel del och kommit en bit men inte hela vägen. 

Önskar få hjälp med ovanstående problem, antingen i form av en grund för själva koden eller genom tips på hur jag kan lära mig själv :)

 

Hälsningar Axel  

Nytt inlägg
 2020-06-18 06:43
 

Med hjälp av googling så löste jag detta, nästan i alla fall. Använder mig av detta script. För tillfället måste jag dock manuellt aktivera varje enkilt blad genom att trycka på det och sen köra macrot. Jag skulle vilja fördefiniera vilka blad som ska sparars som en PDF. Någon som kan hjälpa till med det?

 

Sub PDFActiveSheetNoPrompt()

 

Dim wsA As Worksheet

Dim wbA As Workbook

Dim strName As String

Dim strPath As String

Dim strFile As String

Dim strPathFile As String

Dim myFile As Variant

On Error GoTo errHandler

 

Set wbA = ActiveWorkbook

Set wsA = ActiveSheet

 

'get active workbook folder, if saved

strPath = wbA.Path

If strPath = "" Then

  strPath = Application.DefaultFilePath

End If

strPath = strPath & "\"

 

strName = wsA.Range("A1").Value _

          & " - " & wsA.Range("A2").Value _

          & " - " & wsA.Range("A3").Value

 

'create default name for savng file

strFile = strName & ".pdf"

strPathFile = strPath & strFile

 

'export to PDF in current folder

    wsA.ExportAsFixedFormat _

        Type:=xlTypePDF, _

        Filename:=strPathFile, _

        Quality:=xlQualityStandard, _

        IncludeDocProperties:=True, _

        IgnorePrintAreas:=False, _

        OpenAfterPublish:=False

    'confirmation message with file info

    MsgBox "PDF file has been created: " _

      & vbCrLf _

      & strPathFile

 

exitHandler:

    Exit Sub

errHandler:

    MsgBox "Could not create PDF file"

    Resume exitHandler

End Sub

 

Nytt inlägg
 2020-06-23 14:32
 
 Ändrad av Christian  på 2020-06-23 14:34:28

 Hej hej

Nedan kod skriver ut alla blad i boken som pdf, förutom de som du valt att inte skriva ut. Modifiera bladnamnen i excludefromcol för att passa din bok. Frågar användaren var pdfen ska sparas.  

Option Explicit

Private Function addSheets(c As Collection) As Collection

 

    Dim ws As Worksheet

    Dim ExludeFromCol As Variant: ExludeFromCol = Array("blad1", "Blad2", "Blad3", "Blad4", "Blad5")

    Dim i As Long

    Dim exclude As Boolean

    

    'Lägg till sheets till collection

    For Each ws In ThisWorkbook.Sheets

        exclude = False

        For i = 0 To UBound(ExludeFromCol, 1)

            If ws.Name = ExludeFromCol(i) Then

                exclude = True

            End If

        Next i

        If Not exclude Then

            c.Add ws.Name

        End If

    Next ws

    

    Set addSheets = c

 

End Function

Sub testar()

 

    Dim c As New Collection

    Set c = addSheets(c)

        

    'Hämta filnamn och sökväg från användare

    Dim uAns As Variant

    uAns = Application.GetSaveAsFilename( _

    Title:="Välj filnamn och sökväg", InitialFileName:="Funkis", FileFilter:="PDF (*.pdf), *.pdf")

    

    If uAns <> False Then

        Call PrintSelectedItms(c, uAns)

    End If

    

    Set c = Nothing

    

End Sub

Private Function PrintSelectedItms(c As Collection, mPath As Variant)

 

    Dim tArr As Variant: ReDim tArr(1 To c.Count)

    Dim i As Long

    

    For i = 1 To UBound(tArr, 1)

        tArr(i) = c.Item(i)

    Next i

    

    Dim aSH As Worksheet: Set aSH = ActiveSheet

    ThisWorkbook.Sheets(tArr).Select

        

    

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

    mPath, Quality:=xlQualityStandard, IncludeDocProperties:=True, _

    IgnorePrintAreas:=False, OpenAfterPublish:=True

End Function

 
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAAutomatisk export av tabeller och grafer från Excel till word. Automatisk export av tabeller och grafer från Excel till word.

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter