|
VBA - Zeilenumbruch durchführen |
|
|
|
|
Geschrieben von: Marcus Rose
|
|
Freitag, 08. August 2008 um 09:42 Uhr |
|
Einen Zeilenumbruch mit Excel VBA durchzuführen ist gar nicht so einfach. Man liest immer etwas wie zum BeispieL: Text= Text1 & chr(10) & Text2 . Aber was ist, wenn man einen Text in einer Zelle stehen hat und diesen in eine andere Zelle schreiben möchte? Natürlich mit dem Zeilenumbruch. Das folgende Makro kann das bewerkstelligen: | | A | B | | 1 | Ich bemühe mich täglich den Leuten in Sachen Excel und Excel VBA unter die Arme zu greifen. Leider klappt das nicht immer, aber es ist ja auch bekannt, dass der gute Wille zählt. | <-- Dieser Text soll Umgebrochen werden | | 2 | Länge eingeben: | 30 | | 3 | | | | 4 | | <-- Das Ergebnis |
Hinweis: Das Abbild der Tabelle wird in diesem Fall nicht ganz korrekt dargestellt. Der Satz in Zelle A1 ist aufgrund der Zellbreite nicht komplett zu lesen! Mit dem folgenden Code könnt ihr den Zeilenumbruch erzwingen: Option Explicit
Sub Zeilenumbruch() Dim a As Double Dim b As Integer Dim c As Integer Dim Ganzes As String Dim Teil As String b = Range("B2") Ganzes = Range("A1") & " " If b < 20 Or b >= Len(Ganzes) Then Range("A4") = Range("A1") Exit Sub End If Range("A4").ClearContents For a = 1 To Len(Ganzes) For c = b To 1 Step -1 If Mid(Ganzes, c, 1) = " " Then Teil = Left(Ganzes, c) Range("A4") = Range("A4") & Teil & Chr(10) Ganzes = Mid(Ganzes, c + 1) Exit For End If Next Next Columns("A:A").AutoFit End Sub
Das Ergebnis sieht dann so aus: | | A | B | | 1 | Ich bemühe mich täglich den Leuten in Sachen Excel und Excel VBA unter die Arme zu greifen. Leider klappt das nicht immer, aber es ist ja auch bekannt, dass der gute Wille zählt. | <-- Dieser Text soll Umgebrochen werden | | 2 | Länge eingeben: | 30 | | 3 | | | | 4 | Ich bemühe mich täglich den Leuten in Sachen Excel und Excel VBA unter die Arme zu greifen. Leider klappt das nicht immer, aber es ist ja auch bekannt, dass der gute Wille zählt.
| <-- Das Ergebnis |
|