Word holt sich Daten aus Excel in Spalten

Mr.Paule

Grünschnabel
Hallo Community,

ich habe ein etwas kniffeliges Problem und brauche von Euch ein paar Tipps.

Ich habe eine große Produktliste (viele Spalten und über 700 Zeilen). Ich habe einmal ein einfaches Beispiel erstellt (Abb. 1).
Die zusammengeschobenen Spalten sollen andeuten, dass zwischen den (benötigten) Zeilen noch andere (irrelevante) Daten vorhanden sind.

In Word habe ich das Zieldokument. Word, weil ich dort eben noch Logo, Anweisungen etc. verfasst habe.
In dem mehrseitigen Word-Dokument brauche ich auf den vordefinierten Seiten die Daten aus Excel. Und war idealer Weise zweispaltig, weil ich damit Platz spare.
Ich schreibe also in Word (z.B.) "Fischprodukte", darunter etwas erklärenden Text und würde dann darunter einen 2-spaltigen Bereich anlegen, in dem die "Fischprodukte" (ID=1) einfließen sollen. Auf einer anderen Seite dann eben "Fleischprodukte" (ID=2), weitere Seite "Gemüse" (ID=3) usw. Da es eben viele Produkte sind, könnten sich die 2 Spalten auch über mehrere Seiten erstrechen.

(Nebenbei ergeben sich daraus noch andere "Fragen", ob man die 2 Spalten Seite-nach-Seite füllen lassen kann - wegen der alphabetischen Sortierung [sonst ist Buchstabe "D" in der ersten Spalte auf Seite 3] und ob man auf jeder Seite/Zeile oben die Kopfzeilen anlegen lassen kann ... stöhn)

Ich öffne also das Word-Dokument und dieses holt sich dann automatisch aus der großen Excel-Tabelle die aktuellen Daten und füllt diese in die vorgegebenen Spaltenbereiche.

Ich bin kein Programmierer, aber vielleicht kann ich es so erklären:
- beim Öffnen der Word-Datei, aktiviere die Excel-Tabelle xyz
- gehe Word-Spaltenbereich "Fisch"
- Lese und schreibe Kopfzeilen A1:A2,G1:G2,J1:J2,K1:K2
- gehe zu Excel Zeile 3
- wenn ID=1 übernehme A3,G3,J3,K3
- schreibe diese in eine neue Word-Zeile (in Spalte)
- else gehe zu nächster Excel-Zeile
(ab hier "Premium")
- wenn Spalte auf Seite voll, lege Spalte 2 an
- Lese und schreibe Kopfzeilen A1:A2,G1:G2,J1:J2,K1:K2
- gehe weiter in den Zeilen und lese Daten mit id=1 ein.
- wenn Tabelle voll, öffne Tabelle auf nächster Seite und fahre fort (quasi ein Überlauf)
- Lese und schreibe Kopfzeilen A1:A2,G1:G2,J1:J2,K1:K2
- etc. pp.
(Toll wäre natürlich auch, wenn man die letzte Tabelle (auf Seite x) "nivilieren" kann. Also Spalte 1 nicht über die ganze Seite geht und in Spalte 2 sind dann nur noch ein paar Produkte, sondern der Rest der Zeilen rechts und links gleich viel Zeilen verbraucht. Hoffe man versteht, wie ich das meine.

Produkte mit id=2, id=3 selbe Prozezur auf einer anderen Seite/Tabelle.
(Abb. 2, wie es dann in Word aussieht. Tabelle später jedoch länger)

Derzeit mache ich das händisch. Ich habe meine große Haupttabelle, lege mir für jede ID eine Nebentabelle an, ordne mir nehrere Bereiche an (Anzahl der Produkte in 2 Spalten verteilt - wie es eben auf die Word-Seite passt) und füge diese Auswahl in Word als Verknüpfung ein. Problem ist nur, wenn in der Haupttabelle zwischendrin ein produkt hinzu- oder weg kommt, dann muss ich die ganze Arbeit neu machen.

Frage 1: Ist so etwas generell zu realisieren?
Frage 2: Man kann sich einarbeiten, aber ich habe noch nie in VB programmiert. Ist das machbar oder einfach ein paar Klassen zu hoch (da sitze ich 1 Jahr daran, dann lieber weiter händisch machen)?
Frage 3: Wenn ich das schaffen könnte, hat jemand von Euch Tipps oder Links?

Vielen Dank im Voraus!
Paul
 

Anhänge

  • bsp-tutorials01.jpg
    bsp-tutorials01.jpg
    73,8 KB · Aufrufe: 12

Neue Beiträge

Zurück