Zeilenumbrüche aus Zellen entfernen

Zeilenumbrüche können das Weiterverarbeiten von Daten erschweren. Beispielsweise hindern sie einen an der Anwendung der Funktion "Text in Spalte", welche hier (Textfragmente aus einer Zelle ziehen) detailliert behandelt wurde. Um diese Zeilenumbrüche aus beliebig vielen Zellen zu entfernen, gibt es einen Trick, sodass man nicht jede Zelle einzeln bearbeiten muss:

Mittels "Suchen & Ersetzen" (Tastenkombination CTRL + H oder via Start → Suchen & Auswählen → Ersetzen) können wir nach Zeilenumbrüchen suchen und diese durch nichts ersetzen - im Fenster "Suchen & Ersetzen" geben wir demnach bei "Ersetzen durch" nichts ein (wir lassen das Feld einfach leer). Bei "Suche nach" gibst Du einen sogenannten ASCII-Code ein: Halte Alt gedrückt und gebe auf dem Zifferblock "010" ein. Lasse dann die Taste Alt los. Du siehst zwar kein Zeichen im Feld "Suche nach", eine minime Änderung beim blinkenden Cursor kann jedoch bei genauem Hinsehen erkannt werden. Wenn Du nun auf "Alle ersetzen" gehst, werden sämtliche Zeilenumbrüche im von Dir zuvor markierten Bereich (oder ansonsten im gesamten Arbeitsblatt) entfernt.

Die Selektion der zu bearbeitenden Zellen vor dem Benutzen von "Suchen & Ersetzen" ist wichtig, sodass nicht unabsichtlich andere Felder ebenso bearbeitet werden. Man sollte sich vor dem Verwenden dieser Funktion im Klaren sein, was man genau ersetzen möchte und ob man dadurch nicht andere Formeln, Bezüge oder Werte mit verändert und allenfalls die Tabelle beschädigt.

Blattschutz knacken

Wer kennt das nicht: Passwort vergessen! - Besonders heutzutage, wo man mehrere Kennwörter hat und teilweise aufgefordert wird, ein neues einzupflegen. So kann dies schnell zu einem mühsamen Unterfangen werden. Mit Excel und dessen Blattschutz kann dies ähnlich verlaufen. (... oder Du erhältst eine gesperrte Tabelle und willst gewisse Bereiche genauer anschauen... ;-))

Auf www.ulrichhanke.de habe ich eine interessante Anleitung gesehen, wie man den Blattschutz mittels VBA (Makro) knacken kann. Mit diesem Link geht's direkt zum erwähnten Beitrag auf www.ulrichhanke.de. Ich möchte an dieser Stelle kurz aufzeigen, wie Du selbst den Blattschutz setzen kannst, um den hier behandelten Inhalt zu testen. Öffne eine Excel-Tabelle und gehe in der Menüleiste auf "Überprüfen" - dort findest Du "Blatt schützen". Gib nun ein Passwort ein und bestätige dieses - danach ist Deine Tabelle gesperrt.

Was ist nun zu tun? Du öffnest Deine gesperrte Excel-Tabelle und gehst in die Makro-Umgebung via der Tastenkombination Alt+F11. Auf der linken Seite siehst Du sämtliche Tabellenblätter. Mache da einen Rechtsklick und gehe auf "Einfügen" → "Modul".

 Modul

In dieses Modul schreibst Du dann den nachfolgenden Code:

Sub BlattschutzEntfernen()

On Error Resume Next

For i = 65 To 66: For j = 65 To 66
For k = 65 To 66: For l = 65 To 66
For m = 65 To 66: For n = 65 To 66
For o = 65 To 66: For p = 65 To 66
For q = 65 To 66: For r = 65 To 66
For s = 65 To 66: For t = 32 To 126

ActiveSheet.Unprotect Chr(i) & _
Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(n) & Chr(o) & _
Chr(p) & Chr(q) & Chr(r) & _
Chr(s) & Chr(t)

Next t: Next s: Next r: Next q
Next p: Next o: Next n: Next m
Next l: Next k: Next j: Next i

MsgBox "Blattschutz aufgehoben"

End Sub

Nun kannst Du das Makro ausführen und der Blattschutz wird entfernt. Für kurze Passwörter wie "gesperrt" dauert das Knacken nur wenige Augenblicke. Ich habe zudem ein komplexeres Passwort ausprobiert, beginnend mit einem Grossbuchstaben, zwei Zahlen und einem Sonderzeichen und den Prozess nach 5 Minuten abgebrochen - es kann also bei sichereren Kennwörtern durchaus eine lange Prozedur werden!

Weshalb funktioniert dieses Makro?

Beim einen oder anderen kommt bestimmt die Frage auf: Weshalb funktioniert dieses Makro? - und darauf möchte ich auch noch kurz eingehen. Der Blattschutz in Excel speichert Dein Passwort nicht 1:1, sondern es wird davon eine Art Quersumme berechnet. Daraus folgt, dass das gewählte Kennwort nicht ein Unikat ist - es könnten mehrere Passwörter möglich sein! Ich habe mit "gesperrt" einen weiteren Test durchgeführt: Das Passwort "AAABBBAAAAB{" ist gleichwertig! Versuche das einmal aus - sperre Deine Tabelle mit dem Passwort "gesperrt" und hebe den Blattschutz mit "AAABBBAAAAB{" wieder auf - das funktioniert! Wie bin ich auf diese seltsame Zeichenfolge gekommen? Ich habe das Makro leicht angepasst, hier ist der vollständige Code dazu:

Sub BlattschutzEntfernen()

Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim o As Integer, p As Integer, q As Integer
Dim r As Integer, s As Integer, t As Integer

On Error Resume Next
For i = 65 To 66: For j = 65 To 66
For k = 65 To 66: For l = 65 To 66
For m = 65 To 66: For n = 65 To 66
For o = 65 To 66: For p = 65 To 66
For q = 65 To 66: For r = 65 To 66
For s = 65 To 66: For t = 32 To 126

ActiveSheet.Unprotect Chr(i) & _
Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(n) & Chr(o) & _
Chr(p) & Chr(q) & Chr(r) & _
Chr(s) & Chr(t)

If ActiveSheet.ProtectContents = False Then
MsgBox "Ein mögliches Passwort ist " & _
Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(n) & Chr(o) & Chr(p) & _
Chr(q) & Chr(r) & Chr(s) & Chr(t)
Exit Sub
End If

Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next

End Sub

Viel Spass & Erfolg beim Ausprobieren! Danke an Florian für den Hinweis!