Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code in PERSONL ausgeführt

Code in PERSONL ausgeführt
27.02.2018 10:01:11
U.
Hallo liebes Forum,
der folgende Code soll alle Tabellenblätter einer Mappe unter einem definiertem Pfad als pdf-Dokument ausgeben. Das Makro wird über einen Button in einem gesondert angelegten Menü (Menüband) aus der PERSONL angefordert, bzw. ausgeführt. Bei allen anderen so hinterlegten Makros funktioniert die Prozedur; nur hier wird der Code nicht in der geöffneten Datei ausgeführt, sondern direkt in der PERSONL. (d.h. im angebenen Speicherpfad wird die Tabelle 1 aus der PERSONL angelegt)
Was ist falsch? Vielen Dank schon mal für eure Hilfe.
'erstellt für jedes Tabellenblatt ein eigenes PDF und legt es auf dem Desktop ab

Sub Main()
Workbooks("Einschreiben_Quelle.xlsx").Activate
Const strPfad As String = "H:\Transfer\OLG\ES Belege Gerichte\Ablage"
Dim wksSheet As Worksheet
On Error GoTo Fin
With ThisWorkbook
For Each wksSheet In .Worksheets
wksSheet.ExportAsFixedFormat 0, strPfad & _
"\" & wksSheet.Name
Next wksSheet
End With
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub

Function fncEXT(ByVal strName As String) As String
fncEXT = Mid(strName, 1, InStr(strName, ".") - 1)
End Function

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code in PERSONL ausgeführt
27.02.2018 10:04:54
UweD
Hallo
ungetestet..
mache aus

With ThisWorkbook

With ActiveWorkbook

Thisworkbook bezieht sich auf die Mappe, in der der Code steht Also die Personal...
LG UweD
AW: Code in PERSONL ausgeführt
27.02.2018 10:05:02
Hajo_Zi
Du beziehst dich auf ThisWorkbook und das ist Personal.xlsb

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Code in PERSONL ausgeführt
27.02.2018 10:38:05
U.
Kleine Ursache, große Wirkung! So funktiniert es. Danke.
Kleine Zusatzfrage noch:
Die ersten beiden Tabellenblätter sollen von der Prozedur ausgenommen werden. Ich meine dann muss irgendwo vermerkt werden "größer 2". Wo muss ich das einfügen?
AW: Code in PERSONL ausgeführt
27.02.2018 10:43:25
Hajo_Zi
in der Art.
Option Explicit
Sub gh()
Dim WStAbelle As Worksheet
For Each WStAbelle In ActiveWorkbook.Sheets
If WStAbelle.Index > 2 Then
MsgBox WStAbelle.Name
End If
Next WStAbelle
End Sub
Gruß Hajo
AW: Code in PERSONL ausgeführt
27.02.2018 10:46:52
UweD
Hallo
so?
Sub Main()

Const strPfad As String = "H:\Transfer\OLG\ES Belege Gerichte\Ablage"
    Dim wksSheet As Worksheet
    On Error GoTo Fin
    With Workbooks("Einschreiben_Quelle.xlsx")
        For Each wksSheet In .Worksheets
            If wksSheet.Index > 2 Then
                wksSheet.ExportAsFixedFormat 0, strPfad & _
                "\" & wksSheet.Name
            End If
        Next wksSheet
    End With
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub

LG UweD
Anzeige
AW: Code in PERSONL ausgeführt
27.02.2018 11:21:10
U.
Funktioniert perfekt! Danke.
Threat bitte schließen.
Danke (mit weiterem Text)
27.02.2018 11:31:38
UweD
2 Schleifendurchgänge und Eine If kann man noch sparen.
Sub Main()

Const strPfad As String = "H:\Transfer\OLG\ES Belege Gerichte\Ablage"
    Dim i As Integer
    On Error GoTo Fin
    With Workbooks("Einschreiben_Quelle.xlsx")
        For i = 3 To .Worksheets.Count
            Sheets(i).ExportAsFixedFormat 0, strPfad & _
            "\" & Sheets(i).Name
        Next
    End With
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub

LG UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige