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