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

zeilenumbruch im vba editor

Forumthread: zeilenumbruch im vba editor

zeilenumbruch im vba editor
20.01.2004 15:04:15
Jens Rowertz
Hallo Leutz,
ich hab mal eine Frage zum VBA Editor. Ich möchte gerne eine Email aus Excel Daten generieren und dannn per Outlook verschicken. Das klappt auch schon, dank des Herber Archivs, wo man ne Menge dazu finden kann ;-)
Mein Problem ist folgendes: Der VBA-Editor spinnt! Wenn ich eine Variable mit einem Wert belegen will, in meinem Fall ein umfangreicher String der über mehrere Zeilen geht, dann erkennt der Editor das nicht mehr als zugehörig zur vorherigen zeile an.
Stattdessen fügt er willkührlich Anführungszeichen ein macht den Code noch sinnloser.
Ich komme eher aus der Java und PHP Ecke... muss man hier irgendwas beachten beim Zeilenwechsel? Gibt es irgend einenn Trick?
VIELEN Dank für Eure Hilfe
Jens
Mein Code:

Sub ErinnerungSenden()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "jens@supershapes.de" 'Adresse
.Subject = "Zahlungserinnerung" 'Betreffzeile
.Body = "Hallo [mitgliedsname],
nach Durchsicht meiner Unterlagen muss ich Ihnen leider mitteilen, dass bislang
die Zahlung für das Liebermann Erfolgsprogramm noch nicht eingegangen ist.
Sicherlich sind Sie bisher noch nicht dazu gekommen, den Betrag zu überweisen.
Sehen Sie diese Email daher als eine freundlich gemeinte Erinnerung!
Damit die Ware nun so schnell wie möglich auf den Versandweg zu Ihnen nach
Hause gebracht werden kann, bitte ich Sie noch heute eine Überweisung in
Höhe von [preis] vorzunehmen.

Grüße aus dem Siegerland
Markus Merheim
Versandabwicklung
" 'Hier wird die Mail zuerst angezeigt .Display 'Hier wird die Mail gleich in den Postausgang gelegt '.Send End With 'Variablen zurücksetzen sonst geht es nicht Set OutApp = Nothing 'CreateObject("Outlook.Application") Set Nachricht = Nothing 'OutApp.CreateItem(0) Application.Wait (Now + TimeValue("0:00:05")) End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: zeilenumbruch im vba editor
20.01.2004 15:07:21
AndreasS
Hallo,
probier mal xyz _
AW: zeilenumbruch im vba editor
20.01.2004 15:14:28
AndreasS
Wie gebe ich in Java die Zeile "Leerzeichen Unterstrich = Zeilenumbruch" in Java auf dem Bildschirm aus?
Grüßle
AW: zeilenumbruch im vba editor
20.01.2004 15:13:14
Russi
Hallo Jens!
"Zerschneide" Deinen Text in handliche Stücke:
.Body = "Hallo [mitgliedsname" & chr(13) & _
"hier spricht Jens" & chr(13) & _
"alles klar bei mir" & chr(13)
Mit & kannst Du Zeichenketten verknüpfen, chr(13) ist ein Zeilenumbruch und der Unterstrich sagt Excel, dass die Zeile in der nächsten Zeile weitergeht.
Viel Spaß damit!
Russi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch im VBA-Editor


Schritt-für-Schritt-Anleitung

Um einen Zeilenumbruch im VBA-Editor korrekt zu implementieren, kannst du die folgenden Schritte befolgen:

  1. Text in Variablen aufteilen: Teile deinen langen Text in kürzere Abschnitte auf.
  2. Verknüpfung der Strings: Benutze das Zeichen & um die Strings zu verknüpfen.
  3. Zeilenumbruch einfügen: Verwende Chr(13) für einen Zeilenumbruch. Dies ist wichtig, um sicherzustellen, dass der Text korrekt in die Email eingefügt wird.

Hier ist ein Beispiel:

.Body = "Hallo [mitgliedsname]," & Chr(13) & _
        "hier spricht Jens." & Chr(13) & _
        "Alles klar bei mir?"

Mit diesem Code wird der Text in mehreren Zeilen angezeigt, wenn die Email versendet wird.


Häufige Fehler und Lösungen

  • Fehlerhafte Zeichen: Wenn Anführungszeichen willkürlich eingefügt werden, überprüfe, ob du den Unterstrich (_) am Ende der Zeile korrekt gesetzt hast, um den Zeilenumbruch im VBA zu signalisieren.
  • Kein Zeilenumbruch: Wenn der Zeilenumbruch nicht korrekt angezeigt wird, stelle sicher, dass du Chr(13) oder vbCrLf verwendest.

Beispiel für die Verwendung von vbCrLf:

.Body = "Nachricht:" & vbCrLf & _
        "Hier ist der Text."

Alternative Methoden

Eine alternative Methode besteht darin, HTML-Formatierung zu nutzen, um Zeilenumbrüche zu erzeugen. Du kannst <br> im HTML-Body verwenden, wenn du HTML-Emails versendest:

.Body = "<html><body>" & _
        "Hallo [mitgliedsname],<br>" & _
        "hier spricht Jens.<br>" & _
        "Alles klar bei mir?" & _
        "</body></html>"

Praktische Beispiele

Hier ist ein vollständiges Beispiel, wie du eine Email mit einem VBA Makro generieren kannst, das Zeilenumbrüche korrekt anzeigt:

Sub ErinnerungSenden()
    Dim OutApp As Object, Mail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set Mail = OutApp.CreateItem(0)

    With Mail
        .To = "jens@supershapes.de"
        .Subject = "Zahlungserinnerung"
        .Body = "Hallo [mitgliedsname]," & Chr(13) & _
                 "nach Durchsicht meiner Unterlagen muss ich Ihnen leider mitteilen," & Chr(13) & _
                 "dass bislang die Zahlung noch nicht eingegangen ist."

        .Display
    End With

    Set OutApp = Nothing
    Set Mail = Nothing
End Sub

Tipps für Profis

  • Nutze vbNewLine anstelle von Chr(13), um den Code lesbarer zu machen.
  • Verwende das Debug.Print-Statement, um den Text vor dem Versenden zu überprüfen.
  • Wenn du mit HTML arbeitest, stelle sicher, dass du die Email im HTML-Format sendest, um die Formatierung zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich einen Zeilenumbruch in einer Java-String-Variable einfügen? In Java kannst du "\n" verwenden, um einen Zeilenumbruch zu erzeugen. Beispiel:

String text = "Hallo\nWelt";

2. Warum wird der Zeilenumbruch im VBA-Editor nicht angezeigt? Stelle sicher, dass du das Zeichen & verwendest, um die Zeilen zu verknüpfen, und dass du Chr(13) oder vbCrLf korrekt einsetzt.

3. Was ist der Unterschied zwischen Chr(13) und vbCrLf? Chr(13) steht für den Carriage Return, während vbCrLf sowohl Carriage Return als auch Line Feed (LF) kombiniert, was eine vollständige neue Zeile erzeugt.

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