| Chr(13), Chr(10), vbCrLf, Replace |
|
|
| Ein Zeilenumbruch besteht aus zwei Zeichen: Chr(13) und Chr(10). |
| Diese kann man innerhalb der Excelzelle mit der Tastenkombination ALT und ENTER manuell erzeugen, wenn die |
| Zellen-Eigenschaft auf "Zeilenumbruch = ja" bestätigt wurde (Menü: Format - Zellen - Ausrichtung - Zeilenumbruch). |
|
| In VBA lässt sich der Zeilenumbruch am besten mit vbCrLf einfügen. |
| Beispiel: |
| Debug.Print "Heute " & vbCrLf & "ist " & vbCrLf & "ein " & vbCrLf & "schöner " & vbCrLf & "Tag." |
| Ergebnis: |
| Heute |
| ist |
| ein |
| schöner |
| Tag. |
|
| Andere Möglichkeit per VBA mit Chr(13) und Chr(10): | |
| Debug.Print "Heute " & Chr(13) & Chr(10) & "ist " & Chr(13) & Chr(10) & "Sonntag" |
|
| Wie man im Bild rechts sieht, entstehen nach jedem Zeilenumbruch, besonders beim |
| Einfügen von Werten aus anderen Anwendungen, hässliche Vierecke... |
| Auch beim Exportieren von Excel-Werten nach Access stößt man auf Fehlermeldungen; Access verweigert den Import. |
|
| Die Vierecke werden durch Chr(13) erzeugt; in VBA genügt es also, nur den Chr(10) zu verwenden: |
| Debug.Print "Heute " & Chr(10) & "ist " & Chr(10) & "Sonntag" |
|
| Will man nun diese Vierecke wieder entfernen, stößt man auf ein Problem, besonders wenn man Hunderte von |
| Zellen manuell zu korrigieren hätte. |
| Abhilfe mit der Replace-Funktion (für die aktive Zelle): |
| ActiveCell.Value = VBA.Replace(alterText, Chr(13), " ") |
| oder etwas umständlicher mit Suchen und Ersetzen im gesamten Arbeitsblatt per VBA-Makro: |
| Cells.Replace What:="" & Chr(13) & "", Replacement:="", LookAt:=xlPart, SearchOrder:= _ |
| xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False |
| |
|
| Diesen Tipp findet man auf http://www.office-loesung.de, der aber versagt, wenn der Benutzer ein |
| Notebook OHNE Zifferntastatur hat (...unsere armen geplagten Manager sollten das wissen...): |
| - nutze die "Ersetzen"-Funktion (im Menü 'Bearbeiten') von Excel. |
| - zuerst die Spalte oder die Zellen kennzeichnen, in denen sich die zu entfernenden Zeilenumbrüche befinden. |
| - dann das 'Ersetzen'-Fenster aufrufen Strg + H. |
| - den Cursor in die "Suchen nach"-Zeile stellen und dann die ALT-Taste drücken und festhalten. |
| - über die Zifferntastatur 0010 eingeben und danach die ALT-Taste wieder loslassen. |
| - im Eingabefeld ist nichts zu sehen ist, das ist korrekt. |
| - das "Ersetzen durch"-Feld kann leer gelassen oder ein Leerzeichen eingegeben werden. |
| - die Zeilenumbrüche werden dann durch das eingegebene Zeichen getrennt. |
| - nach Klick auf den Button "Alle ersetzen" werden die Zeilenumbrüche in den gekennzeichneten Zellen entfernt. |
|