Clever-Excel-Forum

Normale Version: Langen Text aus Word auf mehrere Zeilen mit fester Spaltenbreite verteilen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen, 

ich möchte einen langen Text aus Word nach Excel kopieren. Die Spalte A, in die der Text soll, hat eine Spaltenbreite von 45 und der Text soll sich entsprechend der Spaltenbreite auf so viele Zeilen wie nötig verteilen. Dafür gibt es die Funktion "Blocksatz", allerdings funktioniert das immer nur für 255 Zeichen. Auch der VBA Code: Worksheets("Sheet1").Range("A1").Justify funktioniert nur für 255 Zeichen. Mein Text in Word ist 5 Seiten lang. Das würde also ewig dauern. Hat jemand eine andere Idee, den Text (mehr als 255 Zeichen) aus der Zelle A1 über mehrer Zeilen in Spalte A zu verteilen?
Power quert habe ich auch schon erfolglos probiert. Ich habe eine Testdatei mal beigefügt.

Vielen Dank schon jetzt, für die Antworten!
Liebe Grüße  Angel Heart
Hi,

das mit der Testdatei musst du nochmals üben. :89:

Ich vermute mal, du hast vergessen, rechts den Button "Attachment hinzufügen" anzuklicken.
Uuuups  :20: Jetzt aber  Angel[attachment=31318]
Hallo,

wenn es nur um ein übersichtliches Ansehen geht, reicht strg-1 und "Zeilenumbruch" aus. Im VBA

Code:
cells(1,1).WrapText = true

mfg
Hi,

also 5 Seiten Word-Text in einer Zelle unterbringen, wird wohl scheitern.

Mit VBA fielen mir auf die Schnelle folgende Schritte ein (nur so als Ansatz):

- Word-Text in Variable einlesen (wenn's passt)
- einen leeren String wortweise füllen und in die Zelle (1. Zeile) einfügen
- Autofit auf die Spalte mit der Zelle und prüfen, ob Spaltenbreite > 45
- wenn nicht: nächstes Wort holen
- wenn ja: letztes Wort aus dem String nehmen und Zelle mit bisherigen Wörtern füllen,
- neue Zeile
- String leeren, mit dem Rest des Textes wie oben verfahren.

Problem: Einzel-Wörtern, die von ihrer Länge nicht in die Zelle passen
Das werde ich mal probieren, allerdings sehe ich das Problem mit den Wörtern, deren Länge nicht mehr in die Zeile passt auch kritisch. Danke trotzdem schon mal  Angel

Es geht darum, dass jeder Textzeile anschließend eine Nummer zugeordnet werden soll (Interviewtext). Damit nachher beim Rauskopieren von bestimmten Textpassagen der Kontext immer wieder hergestellt werden kann. Ist das verständlich?   Undecided 
 Wenn ich dann den Text auf mehrere Zeilen verteilt habe, kann ich rechts daneben mit Auto ausfüllen einfach eine Nummerierung zu Mappen. Ich dachte, dass wäre so am einfachsten und am nachhaltigsten. Was meint ihr?
Hallo,

es gibt doch einiges an Software für die Text-Analyse von Interviews. Warum soll man das in Excel neu erfinden?

mfg
Hallo,

ein anderer Vorschlag:

Hole die Zeilen direkt aus Word:

Word-VBA
Code:
Sub Zeilen_anzeigen()
Dim Col As Collection: Set Col = New Collection
Dim l As Line

With ActiveDocument.ActiveWindow
    
    For p = 1 To .Panes(1).Pages.Count
        For r = 1 To .Panes(1).Pages(p).Rectangles.Count
            For i = 1 To .Panes(1).Pages(p).Rectangles(r).Lines.Count
                Set l = .Panes(1).Pages(p).Rectangles(r).Lines.Item(i)
                'Debug.Print l.Range
                Col.Add l.Range
            Next i
        Next r
    Next p
End With

'>>>>>> nach Excel <<<<<<<

For i = 1 To Col.Count
    Debug.Print Col(i)
Next i
Set Col = nothing
End Sub

Die Collection muss nur in Excel ausgegeben werden.

mfg
Hi Fennek,

schöner Ansatz, aber ich bezweifel, dass du damit eine Zeile in eine Excel-Spalte mit Spaltenbreite 45 bekommst. Es kommt natürlich auf die Schriftgröße an. Wenn die nicht wichtig ist, kann man sie auf Schriftgröße 5 oder 6 einstellen. Zum Lesen müsste man dann den Zoom (temporär) erhöhen oder die Zelle markieren und den Text in der Berbeitungszeile lesen.
Vielen Dank für die Ideen! Die Spaltenbreite ist tatsächlich nicht so wichtig bzw. die kann auch 50 oder 60 sein, wenn es dann besser klappt? 

LG

@Fennek Wie gebe ich denn eine Collection in Excel aus? Blush
Seiten: 1 2