Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1416to1420
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

Arbeitsmappen per Kriterium selektieren und PDF

Arbeitsmappen per Kriterium selektieren und PDF
26.03.2015 09:53:32
Gorm
Hallo zusammen,
ich brauche dringend Hilfe... wie das ja immer so ist...
Ich habe eine Excel Datei mit ca. 35 Arbeitsmappen, alle haben unterschiedliche Namen, ca. 15 Arbeitsmappen können individuell zu einem Angebot zusammengestellt werden.
Jetzt suche ich nach einer komfortableren Möglichkeit als die STRG Taste zu drücken und die Mappen zu markieren.
Meine Idee ist per Makro eine 1 in die Zelle A1 zu schreiben, welche später für das Angebot genutzt werden soll (das ist auch kein Problem).
Jetzt brauche ich allerdings einen Code der mir alle Arbeitsmappen nach besagter 1 durchsucht und sofern vorhanden markiert und als PDF exportiert.
Ich hoffe, ich habe mein Problem verständlich umschrieben.
Vielen Dank für jegliche Hilfe oder andere Vorschläge!
Gorm

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappen per Kriterium selektieren und PDF
26.03.2015 10:21:56
Klexy
Ich hatte mal was ähnliches gemacht, an dem du dich orientieren kannst. Du musst noch ein IF einbauen, das A1 nach deinem Signal abfragt.
Ich hoffe, das hilft dir weiter.
Sub ky_PDF_erzeugen()
' --- Info --------------------------------------------------------------------------------
' Dieses Makro selektiert alle Tabellenblätter ab dem Blatt 'Cover' und druckt sie als PDF.
' Das verwendete PDF-Programm muss in die Variable "PDFDrucker" eingetragen werden.
sheet_home = "Input"
Dim PDFDrucker As String ' Variable für den PDF-Drucker
PDFDrucker = "PDF-XChange 4.0 auf Ne01:"
Dim Standarddrucker As Variant ' der auf dem jeweiligen Platz eingestellte Standarddrucker
Dim i As Integer ' Zähler der Tabellenblätter
i = 2 ' beginnt ab dem zweiten Tabellenblatt, weil das erste nur der Steuerung dient
Dim LosGehts As Integer ' Schalter wenn das erste zu druckende Blatt erreicht ist
LosGehts = 0
Dim letztes As Integer ' letztes Blatt der Arbeitsmappe
letztes = ActiveWorkbook.Worksheets.Count
Dim Signal As String ' Name des ersten zu druckenden Blattes
Signal = "Cover"
Dim BlätterAnzahl As Long
BlätterAnzahl = -1
Dim BlätterNamen() As String
Dim Drugger As String ' Name des gefundenen gültigen PDF-Druckers
Sheets(sheet_home).Select
Sheets(sheet_home).Range("A1").Select
' Array der zu markierenden Blätter bilden:
Do Until Sheets(i - 1).Name = Sheets(letztes).Name
If LosGehts = 1 Then
BlätterAnzahl = BlätterAnzahl + 1
ReDim Preserve BlätterNamen(BlätterAnzahl)
BlätterNamen(BlätterAnzahl) = Sheets(i).Name
End If
If LosGehts  1 Then
If Sheets(i + 1).Name = Signal Then
LosGehts = 1
Else
End If
Else
End If
i = i + 1
Loop
Sheets(BlätterNamen()).Select
Standarddrucker = ActivePrinter
On Error Resume Next
ActivePrinter = PDFDrucker
Drugger = ActivePrinter
If InStr(Drugger, "PDF") > 0 Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Sheets(sheet_home).Select
Else
MsgBox " _
_________________________________________________________________________________________" & Chr(10) & _
"" & Chr(10) & _
" Es ist kein bekannter PDF-Drucker lokal installiert." & Chr(10) & _
"" & Chr(10) & _
" _
_________________________________________________________________________________________"
End If
ActivePrinter = Standarddrucker
End Sub

Anzeige
AW: Arbeitsmappen per Kriterium selektieren und PDF
26.03.2015 10:43:24
Gorm
Vielen Dank für Deinen Code... leider übersteigt der bei weitem meine Fähigkeiten...
Ich habe zwischenzeitlich schon etwas mit den Kontrollkästchen probiert, leider noch nicht mit vollem Erfolg..
Sub AAA()
' AAA Makro
If g36 = Falsch Then
dat2 = ""
Else
g36 = wahr
dat2 = "Titel"
End If
If g32 = Falsch Then
dat3 = ""
g32 = wahr
dat3 = "Menu"
End If
Sheets(Array(dat2, dat3)).Select
End Sub
Ich habe zum Testen mal 2 Kontrollkästchen erstellt, wenn diese aktiviert sind, dann soll dat2 die Arbeitsmappe "Titel" aktivieren, später dann in der Auswahl sollen diese Variablen genommen werden.
Dann würde ich eine Konfig-Seite aufbauen, in der man einfach das entsprechende Kontrollkästchen anklicken kann.
leider bricht das Makro bei der Selektion ab... da ist also in meiner Definition ein Fehler...
Hat noch jemand eine Idee?
Vielen Dank für die Hilfe!

Anzeige
AW: Arbeitsmappen per Kriterium selektieren und PDF
26.03.2015 18:00:05
Klexy
Mit g36 meinst du wahrscheinlich Range("G36") und was du Arbeitsmappe nennst, ist wahrscheinlich ein Tabellenblatt (Arbeitsmappe ist die ganze Datei) um nur 2 von vielen anzuführen.
Du solltest dir ein VBA-Tutorial reinziehen. Die gibt es zu hunderten im Internet. Ein Forum kann nicht der Ersatz für eine Schulung von Null an sein.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige