Clever-Excel-Forum

Normale Version: VBA-Code für PDF-Erstellung läuft nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen an alle,

mit VBA bin ich gerade erst am Anfang - ich kann erst wenige kleine Schritte und benötige auch noch keine komplexen
Kenntnisse - möchte mich aber dahin entwickeln.

Aktuell möchte ich eigentlich eine Grundfunktion von VBA nutzen. Und zwar habe ich eine variable für 100te Filialnummern,
diese Einzelfilialen kann ich über ein Drop-Down Menü auswählen und die entsprechenden Zahlen in der Maske werden über einen Bezug zu einem
BI-Tool für die ausgewählte Filiale aktualisiert.

Ich nutze bereits eine Auswertung in der ein funtionierendes Makro eingebaut ist - Ziel ist es nicht 200 mal das Drop-Down Menü in Excel anzuklicken und als PDF zu speichern, das soll natürlich automatisiert über das Makro funktionieren.

Nun habe ich mir einen Teil aus der funktionierenden Makro-Datei kopiert und versucht es entsprechend in dieser neuen Datei anzupassen, leider tut sich gar nichts wenn ich das Makro in der neuen Datei starte, hat evtl. jmd eine Idee - fehlt ein Befehl zur Einleitung?
Ich bin mir nicht sicher ob die Information ausreicht - ergänze aber gerne weitere falls es auf den ersten Blick nicht zu sehen ist.

Sub Filialenpdf()

'Dim z As Integer
'For z = 1 To 200
'Sheets("Stammdaten").Activate
'Range("M24").Value = z
'Hardcopy Filialname
'Range("O24").Select
'Selection.Copy
'Range("P24").Select
'Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
'        xlNone, SkipBlanks:=False, Transpose:=False
       
'Range("P24").Select
'Selection.Copy
'Sheets("Tabelle1").Activate
'Range("E5").Select
'Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
'        xlNone, SkipBlanks:=False, Transpose:=False
'Dateibezeichnung formatieren
'Sheets("Stammdaten").Activate
'Range("Q24:Q25").Select
'Selection.Copy
'Range("R24:R25").Select
'Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
'        xlNone, SkipBlanks:=False, Transpose:=False
'Filiale = ActiveSheet.Range("R24").Value
'BRL_2 = ActiveSheet.Range("R25").Value

'speichern
'Sheets("Tabelle1").Activate
'ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'        "X:\Ausgabe\Filialliste\" & Filiale & ".pdf" _
', Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
'        :=False, From:=1, To:=1, OpenAfterPublish:=False
'Next z

End Sub


In der Anlage habe ich noch eine gleich aufgebaute Excel-Beispieldatei als Basis für das Makro beigefügt.

Vielen Dank bereits im Voraus für eure Hilfe.
Gruß, Excelmonsta
Hallöchen,

seltsam, seltsam … Wie kommst Du denn darauf, dass sich nix tut? Bist Du den Code mal zeilen- bzw. schrittweise durchgegangen (F8) ? Mach das mal und schreib uns was passiert.
(17.08.2018, 16:32)schauan schrieb: [ -> ]Wie kommst Du denn darauf, dass sich nix tut?

Moin André!
Wie soll sich etwas tun, wenn sämtliche Zeilen auskommentiert sind?  :21:

@EM:
Warum hast Du eine .xlsx hochgeladen?
Sollte es wirklich mein angesprochenes profane "Problem" sein, dann entferne schlicht die Hochkommata.

(und zum vernünftigen Schreiben von Code kommen wir später. Wink)

Gruß Ralf
Hi,

dieser Code (gleich noch ein bißchen verkürzt/bereinigt) funktioniert bei mir mit Deiner Datei:
Code:
Option Explicit

Sub Filialenpdf()
 
  Dim z As Integer
  Dim Filiale As String
  Dim BRL_2 As String
 
  For z = 1 To 200
     With Sheets("Stammdaten")
        .Range("M24").Value = z
       
        'Hardcopy Filialname
        .Range("P24") = .Range("O24").Value
        Sheets("Tabelle1").Range("E5") = .Range("O24").Value
       
        'Dateibezeichnung formatieren
        .Range("R24") = .Range("Q24").Value
        .Range("R25") = .Range("Q25").Value
       
        Filiale = .Range("R24").Value
        BRL_2 = .Range("R25").Value
     End With
     
     'speichern
     Sheets("Tabelle1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
         "X:\Ausgabe\Filialliste\" & Filiale & ".pdf" _
         , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
         :=False, From:=1, To:=1, OpenAfterPublish:=False
  Next z
 
End Sub

200 PDFs von Filiale 100 bis 365, das dauert aber eine ganze Weile!
[attachment=19265]