auch von mir ein nachträglicher Wunsch, ein paar ruhige Ostertage gehabt zu haben.
Meine Frage: ich setze aus mehreren Teilen einen String zusammen und lasse diesen dann in einer Textbox aus "Zeichnen" anzeigen, hier der (unvollständige) Code:
Sub sichtbar()
Dim txtGes As String
Dim n As Byte, lftZahl As Integer
For n = 1 To 12
If Month(Date) = n Then lftZahl = n * 160 + 200
Next n
txtGes = "Jahr " & [a1] & " :" & vbLf & vbLf
If [h5] > 0 Then txtGes = txtGes & [h5] & " Januar" & vbLf
If [t5] > 0 Then txtGes = txtGes & [t5] & " Februar" & vbLf
If [af5] > 0 Then txtGes = txtGes & [af5] & " März" & vbLf
If [ar5] > 0 Then txtGes = txtGes & [ar5] & " April" & vbLf
If [bd5] > 0 Then txtGes = txtGes & [bd5] & " Mai" & vbLf
If [bp5] > 0 Then txtGes = txtGes & [bp5] & " Juni" & vbLf
If [cb5] > 0 Then txtGes = txtGes & [cb5] & " Juli" & Chr(10)
If [cn5] > 0 Then txtGes = txtGes & [cn5] & " August" & Chr(10)
If [cz5] > 0 Then txtGes = txtGes & [cz5] & " September" & Chr(10)
If [dl5] > 0 Then txtGes = txtGes & [dl5] & " Oktober" & Chr(10)
If [dx5] > 0 Then txtGes = txtGes & [dx5] & " November" & Chr(10)
If [ej5] > 0 Then txtGes = txtGes & [ej5] & " Dezember"
With Worksheets("Kalender")
If .Shapes("TextfeldLaufen").Visible = False Then
.Unprotect
With .Shapes("TextfeldLaufen")
.Visible = True
.Top = 80
.Left = lftZahl
Else
schliessen
End If
End With
End Sub
Nun würde ich das gerne in einer Textbox aus Steuerelemente-Toolbox bewerkstelligen, kriege da aber keinen Zeilenumbruch rein:
Sub sichtbar()
Dim txtGes As String
Dim n As Byte, lftZahl As Integer
For n = 1 To 12
If Month(Date) = n Then lftZahl = n * 160 + 200
Next n
txtGes = "Jahr " & [a1] & " :" & vbLf & vbLf
If [h5] > 0 Then txtGes = txtGes & [h5] & " Januar" & vbLf
If [t5] > 0 Then txtGes = txtGes & [t5] & " Februar" & vbLf
If [af5] > 0 Then txtGes = txtGes & [af5] & " März" & vbLf
If [ar5] > 0 Then txtGes = txtGes & [ar5] & " April" & vbLf
If [bd5] > 0 Then txtGes = txtGes & [bd5] & " Mai" & vbLf
If [bp5] > 0 Then txtGes = txtGes & [bp5] & " Juni" & vbLf
If [cb5] > 0 Then txtGes = txtGes & [cb5] & " Juli" & Chr(10)
If [cn5] > 0 Then txtGes = txtGes & [cn5] & " August" & Chr(10)
If [cz5] > 0 Then txtGes = txtGes & [cz5] & " September" & Chr(10)
If [dl5] > 0 Then txtGes = txtGes & [dl5] & " Oktober" & Chr(10)
If [dx5] > 0 Then txtGes = txtGes & [dx5] & " November" & Chr(10)
If [ej5] > 0 Then txtGes = txtGes & [ej5] & " Dezember"
With Worksheets("Kalender")
If .TextBox1.Visible = False Then
.Unprotect
With .TextBox1
.Visible = True
.Top = 80
.Left = lftZahl
End Sub
Damit wird der Text in einer einzigen Zeile geschrieben, die Absatzmarken werden dargestellt. Und es hilft ein vbLf, Chr(10) oder Chr(13)
Gibt es noch irgendeine Anweisung, mit der man da einen Zeilenumbruch reinkriegen kann?
Vielen Dank im Voraus und Grüße
Franz