Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenumbruch, wenn Textbox in Mail eingefügt wird

Zeilenumbruch, wenn Textbox in Mail eingefügt wird
21.02.2009 15:08:37
a_ke
Hallo,
ich habe in einer Userform mehrere Multiline-Textboxes (txt1, txt2, txt3). Da hier mehr als 1024 zeichen eingegeben
werden können, habe ich Probleme beim darstellen im Ausdruck und beim Export/Import.
Deshalb möchte ich jede Zeile so wie diese in der Textbox dargestellt wird beim schließen der Userform
in eine separate Zelle auf dem Blatt "Daten" schreiben.
z.B. txt1 zeile 1 in Daten!C100, Zeile 2 in Daten!C101 ..., txt2 Zeile 1 dann in Daten!D100 usw.
Beim Aufruf der Userform werden dann alle Zellen zusammengeführt und in die txt1, txt2 .. eingelesen.
Einen Ansatz dazu habe ich schon auf der Excel-CD gefunden. Das hilft mir jedoch noch nicht weiter,
da nur in die Zellen A1 + darunterliegende des aktiven Blattes geschrieben wird und bei geändertem
Text ohne manuelle Zeilenumbrüche alles in eine Zeile geschrieben wird.
Der einzelnen Zeilen müssen aber wie in der Textbox übermittel werden, auch ohne manuelle Zeilenumbrüche.
_________________________________________________________
aus Excel-CD:
ClassModule: frmText

Private Sub cmdEintragen_Click()
Dim iRow As Integer
Dim sTxt As String
sTxt = txtText.Text
sTxt = WorksheetFunction.Substitute(sTxt, vbLf, "")
Do
iRow = iRow + 1
If InStr(sTxt, vbCr) Then
Cells(iRow, 1).Value = Left(sTxt, InStr(sTxt, vbCr) - 1)
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, vbCr))
Else
Cells(iRow, 1).Value = sTxt
Exit Do
End If
Loop
Unload Me
End Sub



Private Sub UserForm_Initialize()
txtText.Text = _
"Hans W. Herber" & vbCr & _
"Im Schönblick 5" & vbCr & _
"53567 Asbach" & vbCr & _
"https://www.herber.de"
& vbCr & _
"herber@herber.de"
cmdEintragen.SetFocus
End Sub


____________________________________________
Andre

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Betreff richtig: Textbox zeilenweise in Zellen
21.02.2009 15:18:09
a_ke
Sorry,
ich hatte noch den falschen Betreff eingestellt.
Richtigerweise geht es um die zeilenweise Übergabe des Textboxinhaltes in verschiedene Zellen.
(ich weiß leider nicht wie ich den Betreff korrigieren kann)
Andre
AW: Betreff richtig: Textbox zeilenweise in Zellen
21.02.2009 16:35:33
Josef
Hallo Andre,
warum so kompliziert?
Formatiere die Zellen in denen du den Text eintragen willst als Text und schreibe/lese den Text so ein.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub cmdEintragen_Click()
  Range("A1") = TextBox1.Text
  TextBox1 = ""
End Sub

Private Sub UserForm_Activate()
  TextBox1 = Range("A1")
End Sub

So kannst du 32767 Zeichen in die Zelle schreiben und auch wieder auslesen.
Gruß Sepp

Anzeige
AW: Betreff richtig: Textbox zeilenweise in Zellen
21.02.2009 17:30:43
a_ke
Hallo Josef,
danke für deine Antwort. Den "einfachen" Weg bin ich leider schon gegangen.
In die Zelle gehen dann die rd. 32.000 Zeichen. Allerdings läßt sich diese nicht insgesamt
anzeigen auf einer Druckseite ( läßt sich eventuell lösen mit einer Textbox auf dem Blatt, das
gedruckt werden soll - da passen dann wieder alle Zeichen rein) .
Das zweite Problem stellt jedoch der Export / Import dar. Ich exportiere die Zellinhalte in eine
*.txt . Der Import klappt dann nicht mit Zellinhalten über 1024 Zeichen.
Andre
AW: Betreff richtig: Textbox zeilenweise in Zellen
21.02.2009 18:04:38
Josef
Hallo Andre,
dann probiers mal so.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub cmdEintragen_Click()
  Dim strText As String
  Dim lngCnt As Long
  
  strText = TextBox1
  
  Do While Len(strText) > 0
    lngCnt = lngCnt + 1
    Cells(lngCnt, 1) = Left(strText, 1024)
    strText = Mid(strText, 1025)
  Loop
  
End Sub

Private Sub UserForm_Activate()
  Dim lngR As Long
  Dim strTmp As String
  
  For lngR = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    strTmp = strTmp & Cells(lngR, 1)
  Next
  
  TextBox1 = strTmp
End Sub

Gruß Sepp

Anzeige
Vielen Dank Josef !
22.02.2009 17:18:35
a_ke
Hallo Josef,
vielen Dank für die Variante.
Ich werde es heute noch versuchen, in die Datei einzubauen.
Andre
AW: Zeilenumbruch, wenn Textbox in Mail eingefügt wird
21.02.2009 15:23:36
mumpel
Hallo!
Wenn Du das in einer Email nutzen möchtest (entnehme ich dem Beitragstitel), dann musst Du HTML nehmen (.htmlbody). Den Zeilenumbruch erreichst Du mit <br>color>. Für jeden Zeilenumbruch einmal. Den Zeilenumbruch direkt mit in die Textbox eingeben. Ein zeilenweises Auslesen einer Textbox ist leider nicht möglich.
Gruß, René

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige