Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
In Textbox automatischer Zeilenumsprung...
19.05.2008 00:59:28
Gerhard
... nach letztem vollständigem Wort?
Guten Abend...
Ich bastel gerade an nem kleinen "automatischen" Lieferscheinformular.
Ich verwende u.a. folgenden Schnippsel, der mir nach jedem Semicolon in eine neue Zelle springt.
Sub TextToRowsART()
Dim Pos As Integer, Cell As Range, ii As Integer
Range("L28:L500").Select
Const Sep = ";"
For Each Cell In Selection
ii = 0
Pos = InStr(Cell, Sep)
While Pos > 0
ii = ii + 1
If Pos Cell.Offset(ii, 0).EntireRow.Insert
Cell.Offset(ii, 0) = Mid(Cell, Pos + 1)
End If
Cell = Left(Cell, Pos - 1)
Pos = InStr(Cell, Sep)
Wend
Next
Range("A1").Select
End Sub


Funzt total genial, aber...
beim stöbern heute bin ich noch über folgenden Schnippsel von Hajo_Zi gestolpert:


Private Sub TextBox1_Change()
If TextBox1.Tag  "" Then Exit Sub
TextBox1.Tag = 1
If Len(Replace(TextBox1, vbCrLf, "")) Mod 5 = 0 And Len(TextBox1) > 0 Then
TextBox1 = TextBox1 + vbCrLf
End If
TextBox1.Tag = ""
End Sub


Hier wird ja automatisch ne neue Zeile begonnen, wenn das 5 Zeichen erreicht ist.
Jetzt gehen wir mal wieder die Pferde durch und habe folgende Frage:
Wäre es möglich, sagen wir mal nach dem 100sten Zeichen in der Textbox, ne Anweisung zu geben, wo ist das letzte Leerzeichen VOR dem 100sten Zeichen und beginne dann nach dem Leerzeichen eine neue Zelle?
Ja in der Art wie n automatischer Zeilenumsprung
Mir fehlt leider das Wissen dazu soetwas zu kreieren, von euch vllt jemand dabei?
LG Gerhard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Textbox automatischer Zeilenumsprung...
19.05.2008 01:22:45
Daniel
HI
hier mal ein kleines Makro, daß nach der Eingabe prüft, ob mehr als X Zeichen eingegeben wurden und wenn ja, wird der Text auf die darunterliegenden Zellen verteilt (die Zellen werden eingefügt, um nichts bestehendes zu überschreiben:

Private Sub Worksheet_Change(ByVal Target As Range)
Const MaxZeichen As Long = 100
Const TrKZ As String = " "
Dim Txt As String, Txt1 As String, Txt2 As String
Dim Pos As Long
if Intersect(Target, Range("L28:L500")) is nothing then exit sub
If Target.Cells.Count > 1 Then Exit Sub
Txt = Target.Text
If Len(Txt) 


die Maximale Anzahl von Zeichen pro Zelle wird mit der Konstanten "MaxZeichen" festgelegt, das Trennzeichen unter TrKZ.
der Code muss ins Modul des betroffenen Tabellenblatts und funktioniert nur für den Zellbereich "L28:L500"
Gruß, Daniel

Anzeige
AW: In Textbox automatischer Zeilenumsprung...
19.05.2008 01:47:00
Gerhard
wow
Klasse Daniel...
allerdings, wie zum Henker krieg ich jetzt noch die Spalte D28 bis D500 unter? Geht das irgendwie?
Also ich bekomms ned hin :(
LG

AW: In Textbox automatischer Zeilenumsprung...
19.05.2008 02:15:05
Daniel
Hi
in der Zeile mit der INTERSECT-Funktion wird festgelegt, für welchen Zellbereich das Makro gilt, wenn es für L und D gelten soll, dann so:

if Intersect(Target, Range("L28:L500, D28:D500")) is nothing then exit sub


oder so:


if Intersect(Target, union(Range("L28:L500"),Range("D28:D500"))) is nothing then exit sub


Gruß, Daniel

Anzeige
Danke!!!!
19.05.2008 19:23:00
Gerhard
Dank dir Daniel!!!
Funzt einwandfrei!!!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige