Saetze mithilfe einer Makros aus einer Exceldatei in Word anordnen?

... komplette Frage anzeigen

4 Antworten

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.

Antwort bewerten Vielen Dank für Deine Bewertung

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

Antwort bewerten Vielen Dank für Deine Bewertung

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 bewerten Vielen Dank für Deine Bewertung

Bestimmt :-)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?