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

Text einrücken per VBA

Text einrücken per VBA
10.06.2014 15:21:53
Showd0wn

Hallo,
Ich habe einen Userform bei der ich einen Text eingeben kann & dieser wird dann in einre Zelle gespeichert. Danach kann man erneut etwas eingeben. Der alte Text wird gespeichert und der neue wird per Zeilenumbruch in die gleiche Zelle gespeichert (per vbCrLf). Ich hätte gerne, dass der neue Text allerdings eingrückt ist, also immer eine Leerzeile pro neue Zeile. Wie mache ich das?
Der entsprechende Code
Initialize()
inhalt = ActiveCell.Value & vbCrLf
____
checkbox_Click()
ausgabe = inhalt & ": " & tbEingabe.Value
Gru0

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text einrücken per VBA
10.06.2014 15:23:26
Hajo_Zi
inhalt = ActiveCell.Value & vbCrLf &" "

AW: Text einrücken per VBA
10.06.2014 15:23:57
Hajo_Zi
inhalt = ActiveCell.Value & vbCrLf &" "

AW: Text einrücken per VBA
10.06.2014 15:45:56
Showd0wn
Danke, Das hatte ich auch schon, aber dann wird immer nur eine Leerzeile gemacht. Beim 2. Durchlauf ist das erwünscht. Aber dann beim 3. sollen 2, beim 4. Durchlauf 3 Leerzeilen und so weiter

Einrücken nicht gleichbedeutend m.Leerzeilen, ...
10.06.2014 16:16:07
Luc:-?
…Showdown!
inhalt = ActiveCell.Value & String(laufvariable + 1, vbLf)
(Achtung! vbCrLf generiert 2 Zeichen; das ginge nicht mit vbFkt String, sondern nur mit WorksheetFunction.Rept, dann aber mit vertauschten Argumenten!)
Falls deine laufvariable mit 0 startet, muss es ggf +2 heißen.
Geht es aber tatsächlich ums (zusätzliche) Einrücken, käme evtl .Indent ins Spiel.
Gruß Luc :-?

Anzeige
AW: Text einrücken per VBA
10.06.2014 21:45:12
Uduuh
Hallo,
die Anzahl der LZ kann man doch berechnen.
Private Sub CommandButton1_Click()
Dim i As Integer
If Len(ActiveCell) = 0 Then
ActiveCell = TextBox1
Else
i = Len(ActiveCell) - Len(Replace(ActiveCell, Chr(10), ""))
ActiveCell = ActiveCell & Chr(10) & String(i + 1, Chr(32)) & TextBox1
End If
ActiveCell.WrapText = True
ActiveCell.Font.Name = "courier new"
End Sub
Gruß aus’m Pott
Udo

AW: Text einrücken per VBA
12.06.2014 10:58:00
Daniel P.
Danke, muss aber sagen dass ich den Code nicht wirklich verstehe. wie binde ich den in meinen code ein?

Anzeige
AW: Text einrücken per VBA
12.06.2014 11:10:15
Rudi Maintaire
Hallo,
wie binde ich den in meinen code ein?
wie sollen wir das wissen? Dafür ist dein Fragment seeeehr knapp.
Mal mit Kommentaren
Private Sub CommandButton1_Click()
Dim i As Integer
If Len(ActiveCell) = 0 Then 'Zelle ist leer
ActiveCell = TextBox1
Else
'Anzahl Zeilenumbrüche
i = Len(ActiveCell) - Len(Replace(ActiveCell, Chr(10), ""))
'Zelleninhalt = Zellinhalt & Umbruch & Leerzeichen & Inhalt Textbox
ActiveCell = ActiveCell & Chr(10) & String(i + 1, Chr(32)) & tbEingabe
End If
ActiveCell.WrapText = True  'Zelle mit Zeilenumbruch
ActiveCell.Font.Name = "courier new"  'Schriftart
End Sub

Zur Schriftart: Einrücken mit Leerzeichen ist nur bei nicht proportionalen Schriften wirklich sinnvoll.
Gruß
Rudi

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge