WinFuture-Forum.de: Makro Hilfe Excel 2010 - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Office 2010
Seite 1 von 1

Makro Hilfe Excel 2010


#1 Mitglied ist offline   looke 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 02. Februar 17
  • Reputation: 0

geschrieben 02. Februar 2017 - 00:40

Hallo!

Ich habe eine Bitte bzw. brauche Hilfe bei einem Mini Projekt, das mir die Abläufe wesentlich erleichtern würde.

Das Problem sieht wie folgt aus.
Ich habe eine Liste mit x Zeilen. In jeder Zeile (=Datensatz) müssen gewisse Felder ausgelesen werden und in ein anderes Sheet transportiert werden - um dort dann als PDF abgespeichert werden zu können.

Momentan mache ich es wie folgt:
Ich kopiere eine Zeile manuell, füge die Zeile in einem "Zwischensheet" ein, und von dort gehen die gewünschten Daten direkt in ein weiteres Sheet, das dann den Gesamtaufbau hat.

Dieser Gesamtaufbau wird per Klick auf eine Schaltfläche per Makro in den jeweilgen Ordner als PDF abgespeichert (Name des PDFs geht aus dem Gesamtsheet hervor).

Meine Frage ist nun, ob es eine Möglichkeit gibt, eine Liste mit sagen wir bspw. 100 Zeilen "automatisch" in 100 PDFs mit den entsprechenden Daten zu exportieren.

De facto müsste bspw. dann
Zeile 1, Feld A, C, D, G = PDF1
Zeile 2, Feld A, C, D, G = PDF2
Zeile 3, Feld A, C, D, G = PDF3
..
..
Zeile 100, Feld A, C, D, G = PDF100

Von der Überlegung her fehlt mir der Automatismus für das Kopieren und Einfügen in einen bestimmten Bereich der nächsten Zeile (bis zur letzten Zeile).

Vielleicht will sich jemand die Mühe machen um mir hierbei weiterzuhelfen. Hoffentlich konnte ich ansatzweise erklären, was mir vorschwebt.

Vielen Dank im Voraus!
LG
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.902
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 02. Februar 2017 - 01:35

Kein Grund, das zu kopieren. Mit Excel kannst Du Daten nicht nur im Arbeitsblatt referenzieren. Das ist nur der kürzeste Pfad.

Dieses Fragment...

=[exceltabelle.xlsx]Tabellenname!A1



holt sich sein Datum aus Zelle A1 im Arbeitsblatt Tabellenname (so wie es unten am Arbeitsblattrand steht) in der Datei exceltabelle.xlsx. Damit das richtig funktioniert, sollte zumindest beim Anlegen diese Datei ebenfalls geöffnet sein.

Das wäre der vollständige Pfad. Von links gezählt lassen sich die Komponenten weglassen; =TabellenName1!C2 holt also C2 aus TabellenName1.

Von da aus müßte man das mit einem kleinen Macro und einer ForEach-Schleife zB an einen PDF-Drucker schicken oder halt die Export-To-PDF-Funktion ansprechen. Wenn das immer nur dieselben Spalten sind, also bei Dir hier A, C, D und G, dann kann das ja gleich fix eingetragen werden und per Knopfdruck losgehen (zB in Abhängigkeit von .Cells.Selected.Range() oä.).

Falls nicht, wird es komplizierter. Dann muß noch eine Konfigurationsmöglichkeit dazu, sagen wir in Form eines Formularfelds, was man dann anzeigen müßte und wo man dann reinschreiben kann, was genau gewünscht ist. Das wird dann natürlich fehlerträchtiger oder entsprechend (sehr viel) aufwendiger.

Dieser Beitrag wurde von RalphS bearbeitet: 02. Februar 2017 - 01:36

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   looke 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 02. Februar 17
  • Reputation: 0

geschrieben 02. Februar 2017 - 11:57

Danke mal für die Antwort.

Den Befehl zum "Weitertransport" der Daten verwende ich schon. Also die Zellen im Zwischensheet - dort wo ich die kopierten Datenzeilen einfüge, sind im PDF-Sheet referenziert und werden von dort automatisch hineingezogen.

Das Problem das ich habe, ist aber folgendes:
Wenn ich 100 Zeilen habe, muss ich momentan 100 Mal Zeile kopieren, einfügen, button klicken, (springt weiter ins PDF-Work-Sheet), Button klicken (erstellt PDF) + Button klick (retour ins Zwischensheet).

Ich kann momentan keinen Weg erkennen, dass ich diese 100 Copy+Paste Vorgänge ersetzen kann.
Das Zwischensheet müsste automatisch Zeile 1 bis Zeile X nacheinander "holen" und dann nach jeder Holaktion den PDF-Makro-Button betätigen.


EDIT: anders gefragt. wie kann ich eine Zeile automatisch mit anderen Zeilen, fortlaufend füllen lassen. Ich denke, das ist vielleicht die einfachste Beschreibung meines Problems. Die Referenzierung nach hinten hin und das PDF erstellen klappt ja schon alles, aber wie kriege ich die Datenbasis (100 Zeilen), nach einender in den Referenzbereich??

Danke nochmals!

Dieser Beitrag wurde von looke bearbeitet: 02. Februar 2017 - 12:05

0

#4 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.599
  • Beigetreten: 14. August 15
  • Reputation: 394

geschrieben 02. Februar 2017 - 17:52

Beitrag anzeigenZitat (looke: 02. Februar 2017 - 11:57)

Wenn ich 100 Zeilen habe, muss ich momentan 100 Mal Zeile kopieren, einfügen, button klicken, (springt weiter ins PDF-Work-Sheet), Button klicken (erstellt PDF) + Button klick (retour ins Zwischensheet).
Erstmal würde ich Copy+Paste mit Strg+C und Strg+V machen und zweitens wenn die 100 Zeilen untereinander liegen, kann man die auch alle auf einmal markieren, kopieren, einfügen.

Insgesamt versteh ich deine Beschreibung in keiner Weise. Willst du nicht mal ein Beispiel posten oder ein Beispiel Excel Dokument hochladen, damit man nachvollziehen kann was du eigentlich meinst?

Denn normal kann man, egal ob Zwischensheet oder nicht, immer von einem Tabellenblatt in das andere referenzieren und da ganze auch über Excel Dokumente hinweg (mit Einschränkungen).
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#5 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.170
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 02. Februar 2017 - 18:10

Also ich habe das so verstanden:

1. Du hast eine Exceltabelle mit meinetwegen 500 Zeilen (Eine Zeile entspricht einem Datensatz).
2. Aus dieser Liste willst du für 100 Datensätze je eine PDF erstellen.
3. Dazu kopierst du die 100 Datensätze in eine Zwischentabelle.
4. In der Zwischentabelle gibt es ein Makro, dass aus jedem Datensatz je eine PDF-Datei druckt.

Erleichtert werden soll jetzt das Kopieren der Datensätze in die Zwischentabelle. Wäre es nicht denkbar, einfach in der ersten Tabelle eine weitere Spalte einzufügen in die man beispielsweise ein »x« schreiben kann und das Makro wird so umgeschrieben, dass es aus dieser ersten Tabelle aus allen mit »x« markierten Datensätzen eine PDF schreibt?

Dann müßte man statt der Kopierorgie, die Tabelle nur durchgehen und die gewünschten Zeilen (Datensätze) mit x markieren und die Zwischentabelle fällt weg.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#6 Mitglied ist offline   looke 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 02. Februar 17
  • Reputation: 0

geschrieben 05. Februar 2017 - 11:05

Beitrag anzeigenZitat (Holger_N: 02. Februar 2017 - 18:10)

Also ich habe das so verstanden:

1. Du hast eine Exceltabelle mit meinetwegen 500 Zeilen (Eine Zeile entspricht einem Datensatz).
2. Aus dieser Liste willst du für 100 Datensätze je eine PDF erstellen.
3. Dazu kopierst du die 100 Datensätze in eine Zwischentabelle.
4. In der Zwischentabelle gibt es ein Makro, dass aus jedem Datensatz je eine PDF-Datei druckt.

Erleichtert werden soll jetzt das Kopieren der Datensätze in die Zwischentabelle. Wäre es nicht denkbar, einfach in der ersten Tabelle eine weitere Spalte einzufügen in die man beispielsweise ein »x« schreiben kann und das Makro wird so umgeschrieben, dass es aus dieser ersten Tabelle aus allen mit »x« markierten Datensätzen eine PDF schreibt?

Dann müßte man statt der Kopierorgie, die Tabelle nur durchgehen und die gewünschten Zeilen (Datensätze) mit x markieren und die Zwischentabelle fällt weg.


Danke, ja ich denke der Tipp mit dem "x" könnte mir weiterhelfen. dafür bräuchte ich dann ja nicht mal ein Marko, ein x setzen und einmal klicken (PDF button) wäre schon wesentlich einfacher. da werd ich mit einfach mit einem sverweis was in die zwischentabelle referenzieren lassen und dann sollte das schonmal besser laufen.

ich bin leider mit makros nicht so bewandert, deshalb werde ich wohl bei der zwischentabelle bleiben.

vielen dank vorerstmal. falls ich nicht weiterkommen sollte, werd ich mich aber nochmal mit einem beispiel melden!

vielen dank für die raschen und kompetenten antworten!
0

#7 Mitglied ist offline   looke 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 02. Februar 17
  • Reputation: 0

geschrieben 09. Februar 2017 - 21:24

bedanke mich recht herzlich für den input @Holger_N

durch den geistigen anstoß habe ich den ganzen vorgang auf ein verlinktes sverweis mit eingabe von zahlen (1 - x je nach PDF anzahl) + 1 klick (PDF) minimieren können.

zeitaufwandersparnis schätzungsweise 90%

es geht auch ohne makro!

vielen dank!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0