Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellenblätter aus Liste selektieren und als PDF ablegen
#1
Hallo zusammen,

ich bin neu hier im Forum und habe leider auch nach längerer Suche mein Problem nicht lösen können.

Folgende Situation:

Excel Tabelle mit ca. 100 Berechnungstabellenblättern (1 pro Kunde), die unterteilt auf 5 zuständige Kundenbetreuuer als 5 separaten PDFs abgelegt werden sollen.
Über feste feste Definition via array wäre das soweit auch kein Thema, allerdings können sich die Kundenanzahlen und Zuordnungen auch ändern.

Deshalb habe ich ein separates Tabellenblatt mit der gesamten Auflistung der Kundennummern in Spalte A (entspricht den Namen der Tabellenblätter) und der Zuordnung des Betreuuers in Spalte B, die immer aktuell gehalten wird und über die ich die jeweis zu druckenden Tabellenblätter gemeinsam selektieren will
Die Datein sollen dann unter dem Dateinamen, der sich aus dem Namen des Betreuuers und dem aktuellen Monat zusammensetzt, abgelegt werden.

Ich hoffe, ich habe das Problem verständlich beschreiben können und danke euch vielmals für eure Hilfe.

Pascal
Antworten Top
#2
Hallo, bitte lade ein Demo hoch. Ich vermute das es nur mit VBA realisierbar ist.
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#3

.xlsx   Kundenberechnungen.xlsx (Größe: 19,11 KB / Downloads: 5)

Hallo Armin,

ich denke auch. Im Prinzip möchte ich das permanente manuelle markieren umgehen. 
Problem ist, dass ich die Dymaik gerne mit drin hätte, sprich, dass ich nur über die Mappingtabelle alle Tabellenblätter in die jeweiligen PDFs aufteile.
Das ist so wichtig, da sich die Anzahl der Tabellenblätter und auch die Zuordnung zum Betreuer immer mal ändern können.

Anbei mal eine Musterdatei. 

Vorab schonmal vielen Dank und viele Grüße Smile
Antworten Top
#4
Hi

Daten sollten eigentlich nicht auf diese Weise angelegt werden. Warum es dir hier nicht möglich ist die Kundendaten in einem Blatt zu sammeln und dort zuzuordnen kann ich aufgrund der leeren Kundenblätter nicht beurteilen.
Evtl. denkst du noch mal darüber nach.
 
Ansonsten hier mal ein Code der das tun sollte was du möchtest.
In Übersicht Kunden schreibst du die Betreuer noch einmal als Liste ab G2.

G1 = Betreuuer(Überschrift)
G2 = Müller
G3 = Meier
G4 usw.

Code:
Public Sub DruckPDF()
Dim GesListe, BetreuerListe, BlattListe, Monat As String, DrName As String
Dim Anzahl As Long, a As Long, j As Long, jj As Long

On Error Resume Next
Application.ScreenUpdating = False
With Sheets("Übersicht Kunden")

GesListe = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Value   'Bereich A1:B?
BetreuerListe = .Range("G1:G" & .Cells(Rows.Count, 7).End(xlUp).Row).Value
Monat = .Range("E1").Value

For j = 2 To UBound(BetreuerListe, 1)
  Anzahl = WorksheetFunction.CountIf(.Range("B:B"), BetreuerListe(j, 1))
  ReDim BlattListe(1 To Anzahl)
  a = 1
 
     For jj = 2 To UBound(GesListe, 1)
       If BetreuerListe(j, 1) = GesListe(jj, 2) Then
          BlattListe(a) = GesListe(jj, 1)
          a = a + 1
       End If
     Next jj
     
  Sheets(BlattListe).Select
  'Speichern in selben Ordner wie die Exceldatei
  DrName = ThisWorkbook.Path & "\" & BetreuerListe(j, 1) & " - " & Monat
 
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        DrName, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
 
Next j
.Activate
End With
Application.ScreenUpdating = True

End Sub

Gruß Elex
Antworten Top
#5
Hallo Pascal,
hier eine Version von mir mit etwas Komfort. Erklärungen im Sheet.


Angehängte Dateien
.xlsm   Kopie von Kundenberechnungen.xlsm (Größe: 57,26 KB / Downloads: 8)
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#6
(30.08.2019, 13:57)Elex schrieb: Hi

Daten sollten eigentlich nicht auf diese Weise angelegt werden. Warum es dir hier nicht möglich ist die Kundendaten in einem Blatt zu sammeln und dort zuzuordnen kann ich aufgrund der leeren Kundenblätter nicht beurteilen.

Hi Elex,

vielen Dank. 
Zum Aufbau der Datei bin ich natürlich nicht ganz beratungsresistent und offen für Vorschläge. Vielleich kann ich hier noch etwas von dir lernen.


Vorab nochmal zum Aufbau der Datei und meinen Beweggründen:
Ich habe eine Quelldatei, die alle möglichen Quelldaten enthält.Diese ziehe ich mir dann z.T. per Indexformel in die jeweiligen Kunden-Tabellenblätter.

Im Idealfall würde ich ein Tabellenblatt anlegen und dies immer mit wechselnder Kundennummer als Finalfdatei ablegen lassen.

Dabei gibt es allerdings 2 Knackpunkte:

1. Das Team, das damit arbeiten muss und später alle Berechnungen prüfen muss, ist nicht so fit in Excel, um die ganzen Formen selbst herzuleiten. Hier möchte ich alle Daten möglichst granular einsehbar machen.

2. Die Berechnungen sind zumeist unterschiedlich afgebaut, d.h. Sie haben auch unterschiedliche Inhalte.


Vorab schonmal vielen Dank für deinen Input und viele Grüße
Pascal

(30.08.2019, 14:52)EbyAS schrieb: Hallo Pascal,
hier eine Version von mir mit etwas Komfort. Erklärungen im Sheet.

Hallo Armin,

diese Variante gefällt mir auch sehr gut. Vielen Dank dafür.

Ich bin ehrlichgesagt noch gar nicht auf die Idee gekommen, das via Formular zu lösen. Jetzt versuche ich mal, das Ganze in meine Orginaldatei einzubauen.

Eine Frage hätte ich jedoch noch:

Wäre es möglich, hier noch einen Button einzufügen, der direkt alle Dateien für die jeweiligen Betreuuer erzeugt, also sprich 1 Datei je Betreuer?

Viele Grüße
Pascal
Antworten Top
#7
Hallo Pascal,
wenn es etwas Zeit hat ja. Ich bin zur Zeit unterwegs.
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#8
Hi Armin,

ja klar. Ich bin dankbar für jede Hilfe. Smile

Herzlichen Dank!!

Viele Grüße
Pascal
Antworten Top
#9
Hallo Pascal,
aus Zeitgründen habe ich nur die erste Version modifiziert. Genau so aufrufen und mit "PDF" Button starten. Man könnte auch den rechten Mausklick durch einen Button ersetzen aber was bringt das?


Angehängte Dateien
.xlsm   Kundenberechnungen.xlsm (Größe: 61,23 KB / Downloads: 3)
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
[-] Folgende(r) 1 Nutzer sagt Danke an EbyAS für diesen Beitrag:
  • Der_Pascal
Antworten Top
#10
Hallo Armin,

vielen Dank. Sehe ich mir dann gleich mal an.

Mir ging es nur darum, dass ich alles dahingehend abkürze, dass es nur einen auszuführenden Schritt gibt.

Vielen Dank für die Hilfe und ein schönes Restwochenende.  Blush :78:

Pascal
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste