Schöne Frage in der Excel-Schulung: ob man Aufzählungszeichen formatieren kann. Wenn in einer Zelle eine kleine Liste steht, deren Inhalte mit einem Zeilenumbruch ([Alt] + [Enter]) getrennt sind.
Die Antwort: natürlich nicht!
Übrigens: Die untere Liste habe ich erzeugt, indem ich mit dem Ersetzen-Befehl den Zeilenumbruch ([Strg] + [J]) durch [Strg] + [J] plus Sonderzeichen ersetzt habe.
Für einen SAP-Upload soll eine Textdatei erzeugt werden. Mehrere Zeilen mit unterschiedlichen Informationen sollen zusammengebaut werden und in eine Textdatei geschrieben werden. Jede Zeile wird mit einem Zeilenumbruch beendet. Ich verwende vbCrLf.
Da nun die letzte Zeile auch einen Zeilenumbruch hat, überlege ich ihn zu löschen. Ich überprüfe das letzte Zeichen – falls es nicht um vbCrLf handelt, wird es gelöscht. Jedoch:
' -- entferne den letzten Zeilenumbruch
If Right(strExportString, 1) = vbCrLf Then
strExportString = Left(strExportString, Len(strExportString) - 1)
End If
funktioniert nicht! Klar doch: vbCrLf sind ZWEI Zeichen: Wagenrücklauf + Zeilenschaltung. Klar: ich muss überprüfen, ob die letzten BEIDEN Zeichen vbCrLf entsprechen. Und dann löschen.
Folgender Befehl funktioniert dann:
' -- entferne den letzten Zeilenumbruch
If Right(strExportString, 2) = vbCrLf Then
strExportString = Left(strExportString, Len(strExportString) - 2)
End If
Der Kunde ist noch immer nicht zufrieden. Die Kopfzeile soll um zwei Zeilenschaltungen nach unten verschoben werden. Also nicht so:
sondern so:
Der Befehl ist schnell gefunden. Allerdings amüsiert mich, dass die Kopfzeile vbCrLf als zwei Zeilenschaltungen interpretiert. Nun ja – ist ja okay so:
With Datei.Worksheets(j).PageSetup
.LeftHeader = vbCrLf & .LeftHeader
* Ebenso kann es helfen in Datei / Optionen / Erweitert in der Gruppe „Allgemein“ die Option „Inhalt für die Papierformate skalieren“ zu deaktivieren:
* Josef hat festgestellt, dass bei Nichtproportionalschriften (bspw. Courier) der Umbruch häufig bestehen bleibt. Das heißt: diese merkwürdige Umbruch-Geschichte muss etwas mit den Schriften zu tun haben. Vielleicht gibt es andere Schriftfamilien (statt TrueType besser OpenType oder echte Druckerschriften …), die gegen die falschen Umbrüche resistent sind.
Vielleicht – so kam der Vorschlag – sollte man die Wingdings verwenden. Dann kann man zwar nichts mehr lesen, aber dann spielt der Umbruch auch keine Rolle mehr.
Und schließlich erreichte mich noch folgende Mail von Josef:
„Mir ist heute morgen nochmal die Test-Mappe in die Hände gefallen mit den abweichenden Zeilenumbrüchen – hab die wohl nicht zugemacht gestern Abend… und prompt ist die Neugier wach geworden… 🙂
Microsoft scheint das Problem schon ne ganze Weile zu kennen. Schuld ist angeblich Windows, nicht Excel. Auch Programme haben wohl Kommunikationsprobleme.
Den Workaround mit der Zellformatvorlage „Standard“ habe ich ausprobiert, war aber nicht wirklich erfolgreich. Der Text sah zwar anders aus (logisch), die Zeilenumbrüche waren auch anders, aber immer noch falsch… 😛
Geneigte Leserin, verehrter Leser, hat jemand von euch eine Idee? ####
Hallo René,
Jetzt habe ich eine Sache, die ich nicht wirklich gebacken bekomme. Ich habe bisher keine Möglichkeit gefunden, eine Frage zu stellen, die dann jemand vorbereitet beantworten kann. Nachdem die Lösung (wenn sie vorhanden ist) wahrscheinlich umfangreicher ist, frage ich mal einfach an, ob ja jemand weiter helfen kann.
Ich hänge an der „AutoFit“-Funktion für Zeilenhöhen. Das Problem ist eigentlich ein alter Bekannter: Man hat einen Text, der länger ist als die Zelle es ermöglicht, stellt die Zelle auf „Zeilenumbruch“, und weist Excel entweder händisch (Doppelklick auf Zeilenhöhe) oder per VBA (AutoFit) an, die passende Zeilenhöhe einzustellen. Jetzt ist Excel aber kein Layoutprogramm, und macht nur WYSI ungefähr WYG. Die Zeilenhöhen sind auf dem Bildschirm nicht immer wirklich passend, manchmal sind es zu große Zeilen (zu kleine eher selten).
Noch schlimmer wird es, wenn ich auf die Druckvorschau (bzw. später den Druck) gehe. Da werden dann die Zeilenumbrüche neu gesetzt (in der Regel passt in die Zeile im Druck mehr als auf dem Bildschirm), und die Zeilenhöhe passt dann noch weniger als vorher.
Zu allem Überfluss scheint das Ergebnis auch vom verwendeten Drucker abzuhängen. Natürlich könnte ich jetzt die Zeilenhöhen manuell nacharbeiten, aber bei längeren automatisch erstellten Dokumenten ist das echt mühsam und nicht gerade geeignet, das einem Kunden zu verkaufen. Vor allem, wenn da die Seitenumbrüche dran hängen.
Kennst du oder jemand dazu eine befriedigende Lösung, mit der sich sicher passende Zeilenhöhen erstellen lassen?
Schöne Grüße
Peter
Hallo Peter,
[…]
Zu „autofit“. Ich
kenne das Problem, habe es aber nicht eingrenzen können.
Autofit ist eine
Methode – sie macht einmalig und keine Eigenschaft, die man vielleicht mit ein
paar Parametern überlisten könnte …
Mir ist auch
aufgefallen: Manchmal (in letzter Zeit seltener) ist der Umbruch in der
Seitenansicht nicht der gleiche wie in der Normalansicht.
Ich habe ab und zu
in VBA-Programmierungen „kleine“ Lösungen gebaut („suche“ die
Überschriftszeilen und sorge dafür, dass sie nicht am Ende der Seite stehen
oder erhöhe die Zeilenhöhe vor dem Speichern als PDF um 1 pt …)
Kennt ihr das? Ich bislang nicht. Ich erhalte eine Exceldatei, die auf dem Macintosh erstellt wurde. Ich versuche die Datei als PDF zu speichern im Format PDF/A:
Excel weigert sich mit der Bemerkung:
Das Dokument wurde nicht gespeichert. Das Dokument ist möglicherweise geöffnet, oder beim Speichern ist ein Fehler aufgetreten.
Ich kreise den Fehler ein und finde ihn schließlich in einer Zelle. Darin befinden sich Zeilenumbrüche ([ALT] + [Enter]). Die mag mein PDF/A für PC nicht …
Sind mehrere Texte in einer Zelle untereinander geschrieben, kann man sie mit dem Assistenten Daten / Text in Spalten trennen.
Und die Blitzvorschau? Ein Versuch ist es wert:
Sieht gut aus – jedoch:
Okay zu lang. Na ja! Und der zweite Wert? Versagt, weil in der zweiten Zeile nur ein Wert steht. Die Anzahl der Werte, die sich untereinander befinden, ist unterschiedlich groß:
Auf ein Neues: PowerQuery. Seit einigen Versionen stellt PowerQuery – anders als der Assistent „Text in Spalten“ als Trennzeichen den Zeilenumbruch zur Verfügung:
Splitter.SplitTextByDelimiter(„#(lf)“
Klappt! Klappt hervorragend!
Können Sie M? Da wir wissen, dass der Zeilenumbruch in Excel dem Wert 10 entspricht hätte man auch verwenden können:
Character.FromNumber(10)
Also:
„Split Column by Delimiter“ = Table.SplitColumn(Source, „Anbauländer“, Splitter.SplitTextByDelimiter(Character.FromNumber(10), QuoteStyle.Csv), …
Mit der Tastenkombination [Strg] + [J] kann man in den Dialogen „Suchen“ und „Text in Spalten“ ein Zeichen erzeugen, das den manuellen Zeilenumbruch repräsentiert. Ein blinkender Punkt ist die Folge. Allerdings lässt der Assistent „Text in Spalten“ nur ein Zeichen zu, so dass man nicht mehr in das Eingabefeld klicken kann und ein anderes Zeichen eintragen kann, wenn der Assistent ein zweites Mal Daten trennen soll:
Erste Lösung: in das Eingabefeld klicken. Das Zeichen befindet sich nicht vor dem Cursor, sondern dahinter. Also mit der Taste [entf] löschen und nicht mit Backspace (Rückschritt)
Zweite Lösung: „mit Anlauf“. Man kann das Kontrollkästchen „Andere“ aktivieren und dann mit der Tabulatortaste in das rechts neben stehende Textfeld springen.
Ich finde den blinkenden Punkt ein wenig unglücklich gewählt als Repräsentant des Zeilenumbruchs. Man sieht ihn schlecht oder gar nicht.
Neben dem Assistenten „Text in Spalten“ – gibt es noch weitere Möglichkeiten am Zeilenumbruch zu trennen? Morgen mehr …
In mehreren Zellen befinden sich durch einen Zeilenumbruch getrennte Daten. Sie sollen in eigene Spalten geschrieben werden. Man kann den Zeichenumbruch (ZEICHEN(10)) durch ein anderes Zeichen ersetzen, das dann im Assistenten Daten / Text in Spalten verwendet wird.
Oder – die Teilnehmerin, die mir diese Frage stellte, kannte die Antwort – man kann die Tastenkombination [Strg] + [J] nicht nur im Suchen-Dialog, sondern auch in diesem Assistenten verwenden.
Angezeigt wird (auch hier) ein blinkender Punkt. Er repräsentiert das Zeichen für den Zeilenumbruch. So kann man auch die Daten trennen:
Diese Lösung hat allerdings einen klitzekleinen Haken, den ich morgen verraten werde.
Das Verhalten von langen Text in Zellen ist folgendes:
Schreibt man einen langen Text in eine unformatierte Zelle, fließt der Text über den rechten Zellenrand hinaus (bei allen Schriften, die von links nach rechts laufen):
Schaltet man einen Textumbruch (früher: Zeilenumbruch) ein, fließt der Text nach unten.
Okay – ich würde wahrscheinlich die Spalte verbreitern.
Schreibt man dagegen einen langen Text in eine Zelle und bricht die Zeilen mit einem Zeilenumbruch ([Alt] + [Enter]) um, schaltet Excel automatisch die Formatierung „Textumbruch“ ein:
Schaltet man den Textumbruch aus, fließt der Text nach rechts weiter über den Zellenrand hinaus. Steht in der Zelle daneben Text (beispielsweise ein Leerzeichen), wird nur der Text der Zelle angezeigt:
Den restlichen Text kann man auch verstecken, indem man die Zeilenhöhe verringert. So kann der Textumbruch eingeschaltet bleiben:
Und die restlichen 12.000 Zeichen werden nicht angezeigt.
Übrigens: die Obergrenze der Zeichenzahl einer Zelle bei Excel liegt bei 32.767 Zeichen. Die maximale Zeilenhöhe bei 409 Punkt:
ich habe ein paar Online-Trainings zugesagt, für die ich erst jetzt die Themeninhalte bekommen habe und vielleicht kannst Du mir kurz sagen, was folgende Bezeichnung bedeutet? – Diagramme: mehrzeilige Achsenbeschriftung …
Hallo Angelika,
man kann die einzelnen Elemente der Achse weder editieren, also ändern noch formatieren. Ich kann nicht eine Jahreszahl einfärben oder fett formatieren. Ich kann auch nicht die Ausrichtung ändern.
Aber man kann in den Zellen einen Umbruch einschalten ([Alt] + [Enter]) und somit einen Umbruch in der Beschriftung der Achsen erzeugen. Ich schicke dir mal ein (uraltes) Diagramm:
Übrigens: hast du es gelesen? – Messi will seinen Vertrag mit dem FC Barcelona auflösen. Fabrizio Romano schreibt, dass Barcelona auf der Ausstiegsklausel über 700 Millionen Euro bestehe.
Ich kopiere Daten aus einer Access-Datenbank nach Excel – die Texte sehen sehr, sehr merkwürdig aus – statt „Forêts d’érables“ wird nur „d’érables“ angezeigt, statt „Fleischprodukte“, „Milchprodukte“ und „Getreideprodukte“ nur „dukte“, „kte“ und „te“. Die Texte stehen linksbündig in der Zelle.
Dann habe ich es entdeckt: Ein Textumbruch (Zeilenumbruch) war eingeschaltet:
Von Version zu Version werden die Dinge ein klein wenig anderes beschriftet. Über den Sinn könnte man reflektieren.
Jedoch: warum beschriftet Microsoft nicht ALLE Stellen? Konsequent? Gleich?
So laufen noch immer „Datenüberprüfung“ und „Gültigkeit“ (im Dialog Inhalte einfügen) rum, der „Textumbruch“ heißt noch immer „Zeilenumbruch“ (im Dialog „Zelle formatieren / Ausrichtung“) und auf „Link“ statt „Hyperlink“ hat man sich auch noch nicht ganz festlegen können …
Ich habe eine Exceltabelle, in der mein Kollege häufig Zeilenumbrüche – also [ALT] + [Return] eingefügt hat. Wie kann ich die ganz schnell löschen?
Viele Zeilenumbrüche
Die Antwort: Sie können im Ersetzen-Dialog (Registerkarte Start / Bearbeiten / Suchen und Auswählen oder: [STRG] + [H]) auch nach Formatierungen suchen. Erstaunlicherweise findet Excel die Zeilenumbrüche, wenn Sie die Formatierung in der Registerkarte „Ausrichtung“ aktivieren. Und löscht sie, wenn Sie bei „Ersetzen“ explizit den Zeilenumbruch ausschalten UND die Option „An Zellgröße anpassen“ einschalten.