Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilenumbrüche in einer (verbundenen) Zelle begren

Zeilenumbrüche in einer (verbundenen) Zelle begren
09.07.2008 16:40:26
Peter
Hallo Leute!
Hab mal wieder einer Frage. Dieses Mal geht es um Folgendes:
Ich möchte gerne ein Formular programmieren, in dem es Felder gibt, die aus mehreren Zellen bestehen, und in die dann Text eingegeben werden soll. Mit Hilfe der Archivfunktion des Forum habe ich bereits eine Möglichkeit gefunden, wie ich mit Hilfe von VBA und einem Makro erreichen kann, dass das Drücken der Enter-Taste einen Zeilenumbruch innerhalb der Zelle bewirkt (was ich eigentlich mit ALT + Enter erreiche, was aber die wenigsten Anwender wissen). Kleiner Haken bei der Sache: der Zeilenumbruch wird bei der jetzigen Lösung immer am Ende der jeweiligen Zelle eingefügt, auch wenn ich mich mitten im Text befinde. Das muss doch anderes gehen, oder?
Nun möchte ich gerne noch die Anzahl der zulässigen Zeilenumbrüche begrenzen, damit niemand mehr in die Zelle schreibt, als eigentlich hineinpasst.
Eine Idee wäre, dass man eine Linecount-Funtion schreibt, die bei erreichen der maximalen Zeilenlänge mit der Sendkey-Funktion ein Backspace bewirkt. Leider reichen meine VBA-Kenntnisse nicht aus, um das zu programmieren. Ich weiß noch nicht mal, an welche Stelle im VBA-Editor ich das hinschreiben muss.
Wichtig: Eure Lösung sollte so sein, dass ich das auf verschieden große und mehrere Zellen in einer Tabelle anwenden kann. Ein paar Erklärungen werde ich wohl benötigen! (die Stelle, an der man die Zeilenanzahl einträgt finde ich aber wahrscheinlich auch alleine ;-)).
Besten Dank schonmal im Voraus und viel Spaß beim Tüfteln! Ich werd's trotz Unkenntnis auch mal selbst versuchen!
Schöne Grüße
Peter
Beispiel-Datei: https://www.herber.de/bbs/user/53693.xls

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
09.07.2008 20:38:00
Daniel
hi
warum soviel aufwand?
lass doch den Anwender den Text in eine Steuerelement-Textbox eingeben, dann hast du die Line-Count-Funktion schon zur verfügung, als Code würde dann das hier ausreichen:
Dim xxx As Boolean

Private Sub TextBox1_Change()
If xxx Then Exit Sub
With TextBox1
Select Case .LineCount > 5
Case True
xxx = True
MsgBox "Zu viel Text !"
Do Until .LineCount = 5
.Text = Left$(.Text, Len(.Text) - 2)
Loop
xxx = False
Case Else
End Select
End With
End Sub


dabei spielt es keine Rolle, ob der Zeilenumbruch über Shift+Enter oder über das erreichen des Textfeldrandes erzeugt wird.
Gruß, Daniel

Anzeige
AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
10.07.2008 09:01:00
Peter
Hallo Daniel,
Danke für Deinen Tipp.
Ich möchte deshalb ungerne eine Textbox verwenden, weil ich dabei zwei Probleme habe:
1. kann ich in diesen Textboxen nicht einzelne Teile des Textes anders formatieren als den restlichen Text
2. finde ich es irgendwie komisch, dass wenn man die Textbox anklickt, der Text zunächst schrumpft und wenn man wieder außerhalb klickt wieder größer wird.
Textfelder aus Zeichnen gehen gar nicht, weil ich den Inhalt an anderer Stelle wiederverwenden bzw. die komplette Felder kopieren möchte, was bei den Textfeldern wohl nicht bzw. nur sehr schwer möglich ist. Hab ich mir zumindest sagen lassen. Ich lasse mich da aber gerne eines besseren belehren!
Von daher bleibt meine Frage: wie kann ich die Zeilenanzahl in verbundenen Zellen begrenzen?
Freu mich auf weitere Idee!
Schöne Grüße
Peter

Anzeige
AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
10.07.2008 16:42:00
Tino
Hallo,
habe mal etwas rumgespielt, mit den von Hand eingefügten Zeilenumbrüchen funktioniert es,
aber mit den automatischen geht dies nicht.
Man müsste herausfinden welches Zeichen für den automatischen Zeilenumbruch steht, sollte dafür überhaupt ein Zeichen stehen.
https://www.herber.de/bbs/user/53727.xls
Gruß Tino

www.VBA-Excel.de


AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
10.07.2008 16:49:26
Peter
Hallo Tino,
Danke für Deine Bemühungen. Sieht doch schon ganz gut aus.
Ich meine mal gelesen zu haben, dass der automatische Zeilenumbruch Chr (13) ist. Kann das sein?
Könnte man das dann auch noch eingeben?
Weitere Frage: muss ich den Code dann für alle Zellen neu eingeben, für die ich diese Begrenzung haben möchte?
Danke für Deine Hilfe!
Schöne Grüße
Peter

Anzeige
AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
10.07.2008 16:56:04
Tino
Hallo,
habe ich schon getestet von CHR(10) bis CHR(13) und auch vbCr und vbCrLf
Diese sind es leider nicht!
Gruß Tino

www.VBA-Excel.de


AW: Zeilenumbrüche in einer (verbundenen) Zelle begren
11.07.2008 02:28:00
Daniel
HI
ich kann mir nicht vorstellen, daß es für den automatischen Zeilenumbruch ein Zeichen gibt.
die Anzahl der Zeilen hängt ja auch von der Spaltenbreite ab.
Wenn es jetzt ein Zeichen für den automatischen Zeilenumbruch gäbe, müsste ja der Zellwert verändert werden, wenn der Anwender die Zeilenbreite verändert.
das ist aber nicht möglich (schon gar nicht, wenn der Zellenwert durch eine Formel und Bezug auf andere Zellen erzeugt wird)
möglich wäre höchsten was in der Art, daß man die Zeilenhöhe automatisch anpasst und hier prüft, ob ein bestimmter Wert (in abhängigkeit vom Schriftgrad) überschritten wird.
funktioniert aber leider auch nur in einfachen und nicht in verbundenen Zellen.
Gruß, Daniel
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige