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

Forumthread: Unterschied vblf und chr(13)

Unterschied vblf und chr(13)
08.06.2005 09:51:44
ray
hallo,
ich benutze beides um einen Zeilenumbruch zu schafffen. Bemerke aber keinen Unterschied zw den beiden.
Gibt es einen, den ich mir merken muß, damit irgendwann nicht mal probleme auftauchen?
Viele Grüße aus Hamburg mit ein bißchen Sonnenschein und viel Kälte
ray
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unterschied vblf und chr(13)
08.06.2005 10:18:59
MichaV
Hi Ray,
Zeilenvorschub (line feed = ASCII 10), Seitenvorschub (form feed = ASCII 12) und Wagenrücklauf (carriage return = ASCII 13). Wir sehen hier deutlich, was wir alle wissen: der PC kommt von der (elektrischen) Schreibmaschine her ( Quelle: http://www.dpmusik.de/h20schri.html )
vbLf ist Chr(10) und bedeutet, daß der Cursor eine Zeile tiefer springt (Schreibmaschine: Walze drehen)
vbCr ist Chr(13) bedeutet, daß der Cursor an den Anfang springt (Schreibmaschine: Walze zurückziehen)
In DOS ist ein Zeilenumbruch immer VBCrLf oder Chr(13)&Chr(10), in Dateien sowieso, aber z.B. auch bei den Textboxen in VB. In einer Excel- Zelle ist ein Zeilenumbruch dagegen nur VBLf, die 2. Zeile beginnt dann auch ohne vbCr an der 1. Stelle. Mit vbCrLf gehts dann eine Zelle tiefer.
Gruss aus Berlin- Micha
PS: Ich behelfe mir bei Unklarheiten immer damit, die Zeichen eines Textes mit ASC() auszulesen. Bei Umbrüchen kommt dann entweder 13 und danach 10, oder nur 13.
Anzeige
AW: Unterschied vblf und chr(13)
08.06.2005 10:24:04
ray
hi micha, da war hochinteressant.
in excel habe ich die zeilen über cells und dann x+ irgendwas gewechselt. mit vbCrLf geht das genial einfach.
Vielen Dank und grüße in die Hauptstadt, ich hoffe Du wurdest auch befördert.
Ray
AW: Unterschied vblf und chr(13)
08.06.2005 10:37:15
MichaV
Hi,
ganz im Gegenteil ;o) Ich warte auf meine Kündigung, weil Arbeitgeber in Insolvenz. Darum hab ich ja auch so herrlich viel Zeit für Excel.
Gruss- Micha
Anzeige
AW: Unterschied vblf und chr(13)
08.06.2005 11:07:26
ray
hmmm, ich wünsche Dir, daß Du schnell was neues findest. Und mit der neuen Regierung wird alles, ja einfach alles besser... oder etwa nicht?
AW: Unterschied vblf und chr(13)
08.06.2005 11:18:46
MichaV
Klar, wenn die Politiker das sagen, dann stimmt das schon. Ich glaube alles, was die sagen. Die kriegen ja schließlich viel Geld und das bestimmt nicht umsonst. Vor allem was die Opposition sagt ist immer richtig, schließlich sagt das auch die Bild- Zeitung, und wenn die nicht die Wahrheit sagt, wer denn dann...
Gruss- Micha
Ahja, und danke für die Wünsche ;o)
Anzeige
Hä?
08.06.2005 11:07:05
MichaV
Hi Ray,
"in excel habe ich die zeilen über cells und dann x+ irgendwas gewechselt. mit vbCrLf geht das genial einfach."
...wie meinst du das denn?
Gruss- Micha
AW: Hä?
08.06.2005 11:12:45
ray
wenn ich eine tabelle zeilenweise bearbeite wechsel ich die zeilen so:
For fi = 1 To 10000
If Worksheets(mL).Cells(x, 1).Value = "" Then GoTo zExitfi Else
If Worksheets(mL).Cells(x, 16).Value And (Worksheets(mL).Cells(x, 17).Value = "" _
Or Worksheets(mL).Cells(x, 17).Value >= ZtRv) Then
y = y + 1
Else
z = z + 1
End If
x = x + 1
Next fi
das benutze ich z. B. wenn ich excel als datenbank habe und briefe nach bestimmten kriterien ausdrucken will. ZtRv ist ein eingegebenes Datum.
Ich weiß auch, wei ich von excel daten nach word übergebe und einen brief so dort ausdrucken kann. leider weiß ich nicht, wie ich mit daten von excel einen serienbrief in Word übergebe...
gruß ray
Anzeige
AW: Hä?
08.06.2005 11:15:37
MichaV
Hi,
ich meine, wie wechselst du die Zeilen mit vbCrLf. Ich hab xl2000, da wird chr(13) als Kasten dargestellt. Das mit dem "eine Zeile tiefer" geht nur beim Einfügen eines Textes mit Zeilenumbruch.
Gruss- Micha
AW: Hä?
08.06.2005 11:21:06
ray
uups, ich hatte Dich falsch verstanden. Ist bei mir genauso. Klassischer Fall von einander vorbei :-)
Grüße
ray
Anzeige
AW: Hä?
08.06.2005 11:27:00
MichaV
Das ist aber die Lösung für ein Problem, was viele haben.
Die in einer Zelle manchmal durch den Zeilenumbruch erzeugten Kästen kann man durch das Entfernen aller Chr(13) löschen, ohne den Zeilenumbruch in der Zelle zu entfernen.
Andersherum kann man -wenn umgebrochener Text in Zellen in eine Textdatei kopiert werden soll- den Zeilenumbruch in der Textdatei erhalten, wenn man jedem Chr(10) ein Chr(13) voransetzt.
Das ist, was ich eigentlich sagen wollte ;o)
Gruss- Micha
Anzeige
AW: Hä?
08.06.2005 13:17:06
ray
ja, das ist ein guter tip von dir. Ich hatte mich schon oft wg dieser blöden kästchen geärgert und wußte keine lösung...
Vielen Dank. Was hast du sonst für projekte am basteln?
ray
AW: Hä?
08.06.2005 13:43:15
MichaV
Hi Ray,
komme aus der reinen autodidaktisch Amateur- VB- Ecke. Aber seit ich hier im Forum versuche, meine Kenntnisse in VBA und Excel an für mich interessanten Aufgaben -querbeet- zu erweitern, hab ich echt keine Zeit/ Lust/ Motivation für meine eigentlichen VB- Aufgaben.
Also in dem Sinne nur Projekte, die Du hier nachlesen kannst.
Gruss- Micha
PS: Durch Dich kann man Herbers CD später auch super als Wetterarchiv für den Hamburger Raum verwenden.
Anzeige
ok, man sieht sich hier... oT und Gruß ray
08.06.2005 13:48:29
ray
ot
ok, man sieht sich hier... oT und Gruß ray
08.06.2005 13:52:56
ray
ot
AW: Hä?
08.06.2005 11:23:54
ray
uups, ich hatte Dich falsch verstanden. Ist bei mir genauso. Klassischer Fall von einander vorbei :-)
Grüße
ray
Anzeige
AW: Hä?
08.06.2005 11:24:21
ray
uups, ich hatte Dich falsch verstanden. Ist bei mir genauso. Klassischer Fall von einander vorbei :-)
Grüße
ray
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Unterschied zwischen vblf und chr(13) in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Unterschied zwischen vblf und chr(13) in Excel VBA zu verstehen, folge diesen Schritten:

  1. Öffne Excel und gehe zu Entwicklertools > Visual Basic.

  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.

  3. Kopiere den folgenden Code in das Modul:

    Sub Unterschied_vblf_chr13()
       Dim Zeile As String
       Zeile = "Erste Zeile" & vbLf & "Zweite Zeile" ' Verwendung von vblf
       MsgBox Zeile
    
       Zeile = "Erste Zeile" & Chr(13) & "Zweite Zeile" ' Verwendung von chr(13)
       MsgBox Zeile
    End Sub
  4. Starte das Makro, um die Unterschiede in der Darstellung der Zeilenumbrüche zu sehen.

Hierbei wird vblf (ASCII 10) verwendet, um den Zeilenumbruch zu erzeugen, während chr(13) (Wagenrücklauf) den Cursor an den Anfang der Zeile zurücksetzt.


Häufige Fehler und Lösungen

  • Fehler: Der Text erscheint nicht wie erwartet in einer Zelle.

    • Lösung: Stelle sicher, dass Du die richtige Kombination verwendest. In Excel-Zellen wird oft vblf verwendet, während chr(13) in VBA für Textboxen oder beim Kopieren in Textdateien wichtig ist.
  • Fehler: Kasten-Symbole erscheinen beim Einfügen von Text.

    • Lösung: Entferne alle chr(13)-Zeichen, um die Kästen zu eliminieren. Du kannst dies mit folgendem Code erreichen:
    Sub Entferne_chr13()
       Dim Zelle As Range
       For Each Zelle In Selection
           Zelle.Value = Replace(Zelle.Value, Chr(13), "")
       Next Zelle
    End Sub

Alternative Methoden

Eine alternative Methode, um Zeilenumbrüche zu erzeugen, ist die Verwendung von vbCrLf, welches sowohl chr(13) als auch chr(10) kombiniert:

Sub Beispiel_vbCrLf()
    Dim Text As String
    Text = "Erste Zeile" & vbCrLf & "Zweite Zeile"
    MsgBox Text
End Sub

Wenn Du die ASCII-Werte direkt verwenden möchtest, kannst Du diese ebenfalls kombinieren:

Text = "Erste Zeile" & Chr(13) & Chr(10) & "Zweite Zeile"

Praktische Beispiele

Hier sind einige praktische Beispiele zur Anwendung von chr(13) und vblf in VBA:

  1. Zeilen in einer Textdatei:

    Sub SchreibeInDatei()
       Dim Datei As String
       Datei = "C:\Pfad\zu\deiner\datei.txt"
       Dim fNum As Integer
       fNum = FreeFile
    
       Open Datei For Output As #fNum
       Print #fNum, "Erste Zeile" & vbCrLf & "Zweite Zeile"
       Close #fNum
    End Sub
  2. Datenübertragung zwischen Excel und Word:

    Sub DatenNachWord()
       Dim WordApp As Object
       Set WordApp = CreateObject("Word.Application")
       WordApp.Visible = True
       WordApp.Documents.Add
    
       WordApp.Selection.TypeText "Erste Zeile" & vbCrLf & "Zweite Zeile"
    End Sub

Tipps für Profis

  • Verwende ASC() und ASCW(), um zu prüfen, welche ASCII-Werte in Deinem Text enthalten sind.

  • Achte darauf, dass Zeilenumbrüche in Excel-Zellen nur mit vblf korrekt dargestellt werden. Wenn Du Text exportierst, stelle sicher, dass Du die richtigen Kombinationen von chr(13) und chr(10) verwendest.

  • Nutze vbCrLf für bessere Lesbarkeit, wenn Du in Word oder anderen Anwendungen arbeitest, die beide Zeichen benötigen.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen vblf und chr(13)?
vblf steht für "Visual Basic Line Feed" und entspricht ASCII 10. chr(13) ist der Wagenrücklauf und entspricht ASCII 13. In Excel wird oft vblf verwendet, um Zeilenumbrüche in Zellen zu erzeugen.

2. Wie kann ich Zeilenumbrüche in einer Excel-Zelle einfügen?
Verwende die Kombination Alt + Enter, um einen Zeilenumbruch innerhalb einer Zelle zu erzeugen. Alternativ kannst Du in VBA Cells(x, y).Value = "Text" & vbLf & "Text" verwenden.

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