Excel Spalte per Link/Makro an Word Textfeld übertragen

Sliver

Erfahrenes Mitglied
Hallo,

ich komme leider nicht wirklich weiter, ich habe mir zwar schon ein paar Sachen hier im Forum durchgelesen aber es passt nicht genau zu meinem Problem.

Also ich habe folgendes vor:
*Zum besseren Verständnis siehe Beitrag #5*

Ich habe eine Excel Tabelle mit mehreren Zeilen, eine Zeile davon sieht wie folgt aus:

Zeile 1: Wert 1| Wert 2| Wert 3| Wert 4| Feld zum aktivieren (aktuell Text Hyperlink)|

Und ich habe ein Word Dokument welches mit 4 Textfeldern bestückt werden soll, allerdings weiß ich nicht genau welche Art von Textfeldern (entweder ein einfaches Textefeld oder ein "Feld" mit Funktion).

Nun soll folgendes passieren: Ich klicke in Excel auf das "Feld zum aktivieren", darauf hin öffnet sich das Word Dokument und füllt die Felder mit den Wert aus Zeile 1 aus. (Also Wert 1 in Feld 1, Wert 2 und Feld 2 usw.)

Fertig.

Wenn ich dann auf das "Feld zum aktivieren" in Zeile 2 klicke soll er auch nur die Werte aus Zeile 2 nehmen.

Ich hoffe ihr versteht was ich meine und könnt mir weiterhelfen.

MfG

Sliver
 
Zuletzt bearbeitet:
Ich habe noch nicht so ganz verstanden wie sich die Zeilen und Spalten aufbauen.

Oben steht Spalte 1 (oder soll es vielleicht Zeile heißen) und daneben sieht es aus als ob es aber 5 Spalten gibt und wo ist der Link "Feld zum Aktivieren" für die zweite Spalte?

Wie werden die Werte an Word übergeben?
 
Ich habe noch nicht so ganz verstanden wie sich die Zeilen und Spalten aufbauen.

Oben steht Spalte 1 (oder soll es vielleicht Zeile heißen) und daneben sieht es aus als ob es aber 5 Spalten gibt und wo ist der Link "Feld zum Aktivieren" für die zweite Spalte?

Wie werden die Werte an Word übergeben?

Ah du hast natürlich recht, ich meine eine Zeile. (habe es oben korrigiert)

Also das ganze sieht in Excel so aus:

Wert 1Wert 2Wert 3Wert 4"Hier klicken [um die Werte aus Zeile 1] zu übertragen"
Wert 1Wert 2Wert 3Wert 4"Hier klicken [um die Werte aus Zeile 2] zu übertragen"
Wert 1Wert 2Wert 3Wert 4"Hier klicken [um die Werte aus Zeile 3] zu übertragen"
Wert 1Wert 2Wert 3Wert 4"Hier klicken [um die Werte aus Zeile 4] zu übertragen"

Sobald man nun auf "Hier klicken zum übertragen" drückt soll das Word Dokument geöffnet und die Felder (im Word Dokument) mit den Werten aus der Zeile gefüllt werden.
 
Zuletzt bearbeitet:
Gibt es schon einen ersten Versuch oder hast du noch gar nichts eigenes!?

Zuerst würde ich beim Anklicken die jeweiligen Werte z.B. immer in den Bereich A1, B1, C1, D1 kopieren (damit der Bereich der nach Word kopiert werden muss immer der selbe ist).

Diese Zellen markierst du dann (immer nur eine), kopierst sie und gehst in Word auf Bearbeiten -> Inhalte einfügen -> als Verknüpfung einfügen.

Wenn sich jetzt in Excel ein Wert ändert, wird die Änderung auch automatisch in Word vorgenommen.
 
Ich habe schon ein paar Versuche unternommen, ich bin soweit das die Excel Datei das Word Dokument öffnet. Aber ich kriege es nicht hin das die Werte aus den Feldern übertragen werden.

Das was du meinst würde vorraussetzen, dass ich am Ende mehrere hunderte unterschiedliche Word-Dokumente habe. Dies möchte ich aber nicht, da jedes Dokument nur einmal benötigt wird und der Schritt über "Copy&Paste" sich gespart werden soll.

Ich habe auch schon Versuch über die Serienbrieffunktion von Word bzw. die Feldfunktion "Datenbank" die Einträge zu ergänzen, allerdings ohne den gewünschten Erfolg.

Die Werte in Excel bleiben auch statisch, dort sind mehrere hundert Zeilen mit unterschiedlichen Werten, diese werden sich aber auch nicht mehr ändern.

Sooo, ich bin meinem Vorhaben ein ganzes Stück näher gekommen.
Anbei mein aktuelles Beispiel.

Wenn man dort nun in Zeile 1 auf "Übertragen" drückt, öffnet sich das Word Dokument und die Werte aus den vorgegebenen Zelle werden eingetragen.

Nun kommt meine großen Knackpunkte:

1. Bevor die Textmarke neu beschrieben wird möchte ich das der alte Wert gelöscht wird.
Beispiel: Klicke ich zweimal hintereinander auf "Übertragen" steht an erster Stelle im Word Dokument zweilmal "Max", dies soll vermieden werden indem der erste "Max" vorher gelöscht wird.

2. Ich möchte das bei dem Klick auf den Hyperlink "Übertragen" die Position überprüft wird und das Makro nicht von "festen Zelle" (wie A1, B1 usw.) abhängig ist, sondern die links benachbarten Zelle wählt.
Beispiel: Ich klicke in Zeile 2 auf "Übertragen" dann soll das Makro überprüfen auf welche Zelle ich geklickt habe, in diesem Fall E2 und dann die Zellen A2, B2, C2 und D2 übertragen. Klicke ich auf "Übertragen" in Zelle E3 sollen die Zellen A3, B3, C3 und D3 übertragen werden.


Bei Fall 2 ist mir klar das ich das ganze natürlich durch ganz viele seperate Makros erzielen kann aber das möchte ich nicht, da die eigentliche Excel Tabelle aus über 600 Zeilen besteht.
 

Anhänge

  • Test.rar
    13,9 KB · Aufrufe: 33
Jedes Feld welches in Word aktualisiert werden soll, wird einmal in Excel kopiert und wie oben beschrieben an der gewünschten Stelle in Word als Verknüpfung eingefügt. Wobei man den selben Wert auch mehr als einmal an verschiedenen Stellen einfügen kann!

Da es als Verknüpfung eingefügt wird, wird es immer automatisch mit Excel abgeglichen.

Ich hänge mal mein Beispiel dran wo du es mal nachvollziehen kannst wie es gemacht ist. Einzig das Starten von Word ist da ncht enthalten!
 

Anhänge

  • Test.zip
    10,4 KB · Aufrufe: 45
Danke dir vielmals. Ich glaube damit komme ich an mein Ziel.
Allerdings verstehe ich noch nicht so ganz wie du das gemacht hast.

Wie erstelle ich in Word ein Verknüpfung sowie du sie gemacht hast?
Und woher weiß die Zelle "Inhalt übertragen" welche Zellen sie in die erste Zeile kopieren muss?

Ich nutze Office 2010.
 
Zuletzt bearbeitet:
Das hier ist der Code in der Excel Datei

Visual Basic:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Dim zeile
zeile = Target.Parent.Row

Cells(1, 1) = Cells(zeile, 1)
Cells(1, 2) = Cells(zeile, 2)
Cells(1, 3) = Cells(zeile, 3)
Cells(1, 4) = Cells(zeile, 4)

End Sub

Damit werden immer die Inhalte der angeklickten Zeile in die Zellen A1, A2, A3, und A4 übertragen. Diese Zellen A1, A2, ... sind die Zellen die mit Word verknüpft sind, das ist das Entscheidende.

Um die Angaben nach Word zu übertragen, klickst du z.B. Zelle A1 an (ob mit oder ohne Inhalt ist noch egal) und kopierst sie.

Dann wechselst du zu Word und gehst da auf das Register Start. Dort klickst du auf den Pfeil beim Menü Einfügen und wählst dort "Inhalte einfügen" aus.

In dem Fenster welches sich darauf öffnet, klickst du links auf "Verknüpfung einfügen" und wählst in der Liste aus wie die Verknüpfung eingefügt werden soll (formatiert oder nicht formatiert).

Jetzt hast du nicht den Zellinhalt als festen Wert sondern eine Verknüpfung auf die Zelle eingefügt und diese aktualisiert sich automatisch so bald sie sich in Excel ändert.
 

Neue Beiträge

Zurück