Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vbCr oder vbCrLf

vbCr oder vbCrLf
20.03.2009 13:02:01
Rolf
Hallo Leute,
Als bescheidener VBA Programierer, der sich natürlich immer mal wieder verbessern will, hätte ich gerne etwas erklärt:
Bisher habe ich Zeilenumbrüche, zum eispiel in einer MsgBox, immer mit & vbCr & gelöst. Nun habe ich ber mal vbCrLf gelesen.
Cr = Carriage Return = Kennt man ja von der Schreibmaschine, nach den "Ding" den Hebel bedienen.
Lf = Line feed = Wozu kann man dass den gebrauchen bzw. was löst es aus?
Mein Turitorial sagt da nämlich nix genaueres dazu.
Gruss
Rolf
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbCr oder vbCrLf
20.03.2009 13:15:58
Ramses
Hallo
CR ist eine "harte" Zeilenschaltung und wird in einer Textverarbeitung als ein nachfolgender NEUER Absatz interpretiert, der die entsprechenden Absatzformatierungen aufweist,.. z.B. Zeilenabstand zum vorderen Absatz
LF ist eine "weiche" Zeilenschaltung und wird in einer Textverarbeitung einfach als eine neue zeile interpretiert, OHNE neue Absatzformatierungen anzuwenden, wie z.B. Zeilenabstand zum vorherigen Absatz
In EXCEL hat das solange keine Auswirkungen, als du dieses nicht in Tabellen anwendest, die anschliessend als CSV oder als TXT Dateien verwendet, um sie dann in andere Programme einzulesen.
Diese Programme suchen nämlich fast immer nach einem CR am Ende der Zeile, als Zeichen für den Beginn eines neuen Datensatzes
Gruss Rainer
Anzeige
AW: Alles klar! VIelen Dank! owT
20.03.2009 13:26:13
Rolf
AW: vbCr oder vbCrLf
20.03.2009 14:37:26
Jogy
Hi.
Harter und weicher Zeilenumbruch sind eine Interpretation davon, aber nicht die eigentliche Bedeutung.
Du kannst es Dir wie bei der Schreibmaschine vorstellen: CR ist das Zurückstellen auf den Anfang der Zeile, LF ist der Zeilenvorschub, ausgehend davon wäre also vbCrLf korrekt. Allerdings wird auch ein reines CR von PCs in aller Regel als "neue Zeile" gewertet.
Übrigens gibt es auch noch vbNewline ;)
Gruss, Jogy
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Unterschiede zwischen vbCr und vbCrLf in VBA


Schritt-für-Schritt-Anleitung

  1. Verständnis der Begriffe:

    • vbCr steht für "Carriage Return" und wird in VBA verwendet, um den Cursor an den Anfang der Zeile zu bewegen.
    • vbCrLf ist eine Kombination aus "Carriage Return" und "Line Feed". Diese wird verwendet, um eine neue Zeile zu beginnen und gleichzeitig den Cursor an den Zeilenanfang zu bewegen.
  2. Verwendung in VBA:

    • Um vbCr oder vbCrLf in Deinem VBA-Code zu verwenden, kannst Du diese wie folgt in einer MsgBox oder in einem Textfeld einsetzen:
      MsgBox "Zeile 1" & vbCr & "Zeile 2"
      MsgBox "Zeile 1" & vbCrLf & "Zeile 2"
    • Das erste Beispiel zeigt einen harten Zeilenumbruch (neuer Absatz), während das zweite Beispiel einen weichen Zeilenumbruch darstellt.
  3. Anwendung in Excel:

    • Achte darauf, dass beim Exportieren von Daten in CSV oder TXT-Dateien die Verwendung von vbCr und vbCrLf entscheidend sein kann, da einige Programme nach einem CR am Ende der Zeile suchen, um neue Datensätze zu erkennen.

Häufige Fehler und Lösungen

  • Fehler: MsgBox zeigt nicht die erwarteten Zeilenumbrüche an.

    • Lösung: Überprüfe, ob Du vbCr oder vbCrLf korrekt verwendest. Teste beide Optionen, um den Unterschied zu erkennen.
  • Fehler: Daten werden beim Export nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass Du vbCr oder vbCrLf an der richtigen Stelle in Deinem Code verwendest, insbesondere beim Formatieren von Text für CSV-Dateien.

Alternative Methoden

  • vbNewLine: Eine weitere Möglichkeit, Zeilenumbrüche zu erzeugen, ist die Verwendung von vbNewLine. Dieser Befehl wird in VBA als plattformunabhängige Methode angesehen, um einen Zeilenumbruch zu erzeugen:

    MsgBox "Zeile 1" & vbNewLine & "Zeile 2"
  • CR LF direkt verwenden: In manchen Fällen kannst Du die ASCII-Werte für CR (13) und LF (10) verwenden:

    MsgBox "Zeile 1" & Chr(13) & Chr(10) & "Zeile 2"

Praktische Beispiele

  • Beispiel 1: Verwendung von vbCr in einer MsgBox:

    Sub BeispielCr()
      MsgBox "Hallo," & vbCr & "Willkommen in VBA!"
    End Sub
  • Beispiel 2: Verwendung von vbCrLf in einer Textdatei:

    Sub BeispielCrLf()
      Dim fso As Object
      Set fso = CreateObject("Scripting.FileSystemObject")
      Dim txtFile As Object
      Set txtFile = fso.CreateTextFile("C:\Temp\Beispiel.txt")
      txtFile.WriteLine "Zeile 1" & vbCrLf & "Zeile 2"
      txtFile.Close
    End Sub

Tipps für Profis

  • Achte darauf, dass die Verwendung von vbCr und vbCrLf in unterschiedlichen Kontexten (z.B. MsgBox, Textdateien, etc.) unterschiedliche Ergebnisse haben kann. Experimentiere mit beiden, um ein besseres Gefühl dafür zu bekommen, wann welches am besten geeignet ist.

  • Wenn Du in Excel VBA arbeitest, prüfe die Kompatibilität mit anderen Programmiersprachen und Anwendungen, die möglicherweise andere Zeilenumbruchformate verwenden.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen vbCr und vbCrLf?
vbCr erzeugt einen harten Zeilenumbruch, während vbCrLf sowohl einen Zeilenumbruch als auch einen Zeilenanfang bewirkt.

2. Wann sollte ich vbNewLine anstelle von vbCr oder vbCrLf verwenden?
vbNewLine ist nützlich, wenn Du plattformunabhängig arbeiten möchtest, da es automatisch das richtige Zeilenumbruchformat für die jeweilige Plattform verwendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige