Clever-Excel-Forum

Normale Version: Satzwörter trennen und untereinander listen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo meine Lieben
ich habe eine Exel Tabelle wie im Bild.
Jede Zeile enthält einen einzigen Satz.
ich möchte dass die wörter von einander getrennt werden und alle untereinander stehen.
Sobald die Wörter einer Zeile zu ende sind, kommen darunter die Wörter der nächsten Zeile.
Rechts von den wörtern möchte ich die Zahl der Zeile von der das Wort stammt.
Diese Formel habe ich aber sie funktioniert nicht.
=GLÄTTEN(TEIL(WECHSELN($A$2;" ";WIEDERHOLEN(" ";999));ZEILE(AY1)*999-998;999))

Wer mir die Lösung anbietet bekommt von mir ein Geschenk.
1000 Dank voraus
Hallo u...,

wenns auch ohne Geschenk für dich akzeptabel ist, könnte ich ein Makro schreiben.
Hallo u...,

bitte sehr
Moin Helmut!
Stelle doch mal Deinen Code hier herein.
Nicht jeder will sich gleich eine .xlsm herunterladen.
(Zumal der Code sicherlich als Antwort gereicht hätte)

Gruß Ralf
bitte sehr:

Code:
Option Explicit
Sub Machs()

Dim lngSatzNr As Long
Dim lngWortNr As Long
Dim lngZeileOffset As Long
Dim varListe As Variant
Dim varWoerter As Variant
Dim rngAusgabe As Range

lngZeileOffset = -1
varListe = ThisWorkbook.Names("Liste").RefersToRange.Value
Set rngAusgabe = ThisWorkbook.Names("Ausgabe").RefersToRange

For lngSatzNr = 1 To UBound(varListe, 1)
    If varListe(lngSatzNr, 1) <> "" Then
        varWoerter = Split(varListe(lngSatzNr, 1), " ")
        For lngWortNr = 0 To UBound(varWoerter)
            lngZeileOffset = lngZeileOffset + 1
            rngAusgabe.Offset(lngZeileOffset, 0) = varWoerter(lngWortNr)
            rngAusgabe.Offset(lngZeileOffset, 1) = lngWortNr + 1
            rngAusgabe.Offset(lngZeileOffset, 2) = varListe(lngSatzNr, 2)
        Next lngWortNr        
    End If
Next lngSatzNr

End Sub
Hallo u...,

zu:
Zitat:Wer mir die Lösung anbietet bekommt von mir ein Geschenk.

Hier gibt es keinen Ablasshandel. So billig kommst du nicht davon.

Jeder, der im Forum eine Hilfe annimmt, muss, wenn er sebst gefordert ist, auch kostenlose Hilfe leisten (auch ausserhalb der Foren).
Ansosten wird er für immer in der Forenhölle schmoren.

Blush
Hallo lieber Ego,
ich jetztgerade deine Datei getestet.
erst 1000 Dank.
zweitens, schicke mir deine Konto-Nr. in PN.
drittens, die seite die du mir geschickt hast funktioniert nur bis 5 zeilen, ich habe 300 zeilen. das wäre sehr gut wenn du mir das möglich machst.
danke sehr
Hallo u...,

A) Kein Ablasshandel und daher auch keine Konto-Nr.
Du hast wohl das Kleingedruckte (Nutzungsbedingung) nicht gelesen.Blush

B) zur Datei
in der Datei arbeitet mein Programm zur Zeit mit zwei benannten Bereichen:

1) benannter Bereich "Liste"
Ausgewertet wird dieser Bereich. Er muss mindestens zwei Spalten haben.
Wenn du mehr als die zur Zeit Berücksichtigten fünf Zeilen bearbeiten willst,
a) kannst du unter "Formeln">"Namensmanager">"Liste">"Bearbeiten" den Bereich erweitern oder
b) du fügst nach der ersten und vor der letzten Zeile des Bereiches entsprechend viele Zellen ein, dann erweitert sich der Bereich automatisch.
Es ist kieine Änderung im Programm notwendig.

2) benannte Zelle "Ausgabe"
Ab dieser Zelle werden die Daten geschrieben.
a) Diese benannte Zelle kann beliebig in der Datei positioniert werden (auch in andere Arbeitsblätter) ohne das Programm ändern zu müssen.
b) Die Zellen dahinter und darüber werden gnadenlos überschrieben.
c) Schon vorhandenen Einträge werden vorher nicht gelöscht daher vor jedem Lauf manuell Löschen, besonders wenn der neue Datensatz kleiner ist.
Lieber Helmut,
Gott segne und beschütze Sie.
Sie haben mir sehr geholfen.
Liebe Grüße
Ahmed