Frage von HuberBernd, 40

Saetze mithilfe einer Makros aus einer Exceldatei in Word anordnen?

Hallo liebe Makros Freunde,

ich habe folgenden Fall vor mir liegen, und zwar habe ich eine Excel Tabelle mit der bestimmte Dinge definiert sind. Diese sind in Zellen mit "x" angekreuzt. (Bsp: Spalte2 Hund und Zeile1 Ball, das x definiert dass der Hund einen Ball besitzt)

Nun soll immer wenn ein "x" vorhanden ist, dieses mit einem Satz definiert (zB Hund besitzt Ball) sein und mithilfe Makro in einer Word Datei geöffnet werden. Sinn des ganzen ist, dass sie mehrere "x" mit ihren definierten Saetzen in einer einzigen Word Datei an einander reihen.

Jemand Tipps wie man das am schlausten angehen kann?

Vielen Dank und lg,

Bernd

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Garfield0001, 27

Jetzt sehe ich einen Text - vorhin nur die Überschrift :-)

Wenn ich jetzt mal versuche deinen Gedanken in meine worte zu fassen ...
Du hast in der ersten Zeile (ab Spalte B) Begriffe stehen (zb für Spalte B "Hund" (stehen tut das Wort aber in Zelle B1)).
Du hast in Spalte A (ab zweiter Zeile) Begriffe (zb für die zweite Zeile "Ball" (stehen tut das Wort aber in Zelle A2).

Wenn du nun ein "x" in eine Zelle schreibst soll er daraus einen Satz machen (und ihn in Word übernehmen).

Dazu habe ich fragen:
1. Muss der Text immer sofort übernommen werden oder kann man am Ende sagen "jetzt" und dann führt er das Programm einmal durch
2. Wenn sofort ... was wird aus dem gesetzten "x"? Bleibt es stehen oder soll es wieder gelöscht werden?
3. Wenn "einmal am Ende" - in welcher Reihenfolge soll das Programm die Sätze "erlesen"?
4. Ein Satz hat mehrere Komponenten (Substantive, Verben, Adjektive zb). Woher soll das Programm die fehlenden Worte wissen? "Hund" und "Ball" kann heißen dass der Hund einen Ball hat. Es kann aber auch heißen, dass der Hund von einem Ball getroffen wurde oder dass der Hund rund ist wie ein Ball etc.

Expertenantwort
von Ninombre, Community-Experte für Excel, 17

Wenn man den kompletten Text vorher in Excel bzw. im Makro zusammensetzt und dann nach Word kopiert ginge es so (macht ein neues Dokument auf und schreibt dort rein):

Sub Textnachword()
Dim wd As Object
Dim meintext As String
For i = 2 To 4 'anzahl der zeilen die durchsucht werden sollen
meintext = meintext & Cells(i, 1).Value & " besitzt " & Cells(1, Range(Cells(i, 2), Cells(i, 4)).Find("x").Column).Value & ". "
Next
Set wd = CreateObject("word.application")
wd.documents.Add
wd.Visible = True
wd.activedocument.Range.Text = meintext
End Sub

Knifflig wäre es auf vorhandene Texte in Word zugreifen zu müssen. Es ist im Makro auch noch kein Fehlerhandling drin - mehr als ein x bzw. gar kein x führen zu Fehlern. Ich nehme ja fast an, dass Dein tatsächlicher Fall etwas komplexer sein wird als das gezeigte Beispiel.

Antwort
von Garfield0001, 21

Bestimmt :-)

Antwort
von HuberBernd, 16

sodala hier einmal die Tabelle,

hierbei sollten die x definiert sein mit

"Hund besitzt Stock"

"Katze besitzt Futter" ..

diese Saetze sollen nun wenn Makros durchlaeuft und ein "x" entdeckt in einer Word Datei geoeffnet und aneinander gereiht sein,

vielen Dank

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten