Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilenumbruch

Zeilenumbruch
07.09.2006 12:39:05
selma
Hallo Excel Experten,
Bei allen Textboxen oder Checkboxen soll wenn
der Anwender auf dem Feld steht über die Taste F1 ein Hilfetext angezeigt werden.
Dazu habe ich folgenden Code:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
' wenn F1 Taste gedrückt
If KeyCode = 112 Then _
MsgBox ThisWorkbook.Sheets("Hilfe").Range("B6").Text, _
vbInformation, "Hilfe"
End Sub

Falls jetzt der Hilfetext länger ausfällt sollte per Code
ein Zeilenumbruch erfolgen.
Beispiel: "Dies ist ein sehr langer Text und sollte in der Zeile umgebrochen werden"
Gewünschter Zeilenumbruch nach "sollte" erfolgen.
Wie kann ich sowas umsetzten (z. B. Zeilenumbruch nach 60 Zeichen, jedoch immer
nach dem Wort)
viele Grüsse
selma

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch
07.09.2006 13:23:05
Peter Feustel
Hallo Selma,
so könnte es gehen:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim sText  As String
Dim iZeichen  As Integer
' wenn F1 Taste gedrückt
Stop
If KeyCode = 112 Then
sText = ThisWorkbook.Sheets("Hilfe").Range("B6").Value
If Len(sText) > 60 Then
For iZeichen = 60 To 1 Step -1
If Mid(sText, iZeichen, 1) = " " Then
Mid(sText, iZeichen, 1) = Chr(10)
Exit For
End If
Next iZeichen
End If
MsgBox sText, vbInformation, "Hilfe"
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Zeilenumbruch
07.09.2006 14:16:04
selma
Hallo Peter,
Danke für Deine Hilfe.
Im Prinzip funktioniert es.
Wäre es möglich auch nach einem Punkt einen Zeilenumbruch zu tätigen, egal wie lang der Text ist?
Beispiel:
"Danke für Deine Hilfe. Im Prinzip funktioniert es. Wäre es möglich auch nach einem Punkt einen Zeilenumbruch zu tätigen, egal wie lang der Text ist?"
Nach jedem Punkt wird eine neue Zeile erzeugt. Das Ergebnis steht in 3 Zeilen
Das Ausdruck-Ergebnis sieht Du bereits oben.
Viele Grüsse
selma
AW: Zeilenumbruch
07.09.2006 14:23:58
Peter Feustel
Hallo Selma,
dann so:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim sText     As String
Dim sRepl     As String: sRepl = "." & Chr(10)
' wenn F1 Taste gedrückt
If KeyCode = 112 Then
sText = ThisWorkbook.Sheets("Hilfe").Range("B6").Value
sText = Replace(sText, ". ", sRepl)
MsgBox sText, vbInformation, "Hilfe"
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Zeilenumbruch
07.09.2006 14:29:35
selma
Hallo Peter,
gibt es auch die Kombination von Beidem???
Viele Grüsse
selma
AW: Zeilenumbruch
07.09.2006 14:58:48
Peter Feustel
Hallo Selma,
vielleicht so:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim sText     As String
Dim sRepl     As String: sRepl = "." & Chr(10)
' wenn F1 Taste gedrückt
If KeyCode = 112 Then
sText = ThisWorkbook.Sheets("Hilfe").Range("B7").Value
If Len(sText) > 60 Then
For iZeichen = 60 To 1 Step -1
If Mid(sText, iZeichen, 1) = " " Then
Mid(sText, iZeichen, 1) = Chr(10)
Exit For
End If
Next iZeichen
Else
sText = Replace(sText, ". ", sRepl)
End If
MsgBox sText, vbInformation, "Hilfe"
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Zeilenumbruch
07.09.2006 15:13:42
selma
Hallo Peter,
nachfolgend habe ich Dir den Text.
"Druck der Kalkukaton auf den Drucker oder Bildschirm. Bitte wählen Sie noch "Komplett-Ausdruck", "Kurz-Ausdruck" oder "Einzelne Seiten drucken". Ansonsten erhalten Sie kein Ausdruck."
Richtig sollte im Hilfefenster erscheinen:
Druck der Direktversicherung auf den Drucker oder Bildschirm.
Bitte wählen Sie noch "Komplett-Ausdruck", "Kurz-Ausdruck" oder
"Einzelne Seiten drucken".
Ansonsten erhalten Sie kein Ausdruck.
Mit Deinem Code erscheint:
Druck der Direktversicherung auf den Drucker oder Bildschirm.
Bitte wählen Sie
noch "Komplett-Ausdruck", "Kurz-Ausdruck" oder "Einzelne Seiten drucken".
Ansonsten erhalten Sie kein Ausdruck.
Die Zeichen habe ich von 60 auf 80 erhöht.
Ich gehe davon aus, dass der restliche Text, welcher nach dem Zeilenumbruch noch vorhanden ist nicht wieder bei 0 beginnt.
Da mir die Programmierkenntnisse fehlen, bitte ich Dich nochmals um Hilfe.
Viele Grüsse
selma
Anzeige
AW: Zeilenumbruch
07.09.2006 18:29:54
Peter Feustel
Hallo Selma,
dann so:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim sText     As String
Dim sTemp     As String
Dim sZeichen  As String
Dim iIndx     As Integer
Dim iPosit    As Integer
Dim iZeichen  As Integer
' wenn F1 Taste gedrückt
If KeyCode = 112 Then
For iIndx = 1 To Len(ThisWorkbook.Sheets("Hilfe").Range("B6").Value)
sZeichen = Mid(ThisWorkbook.Sheets("Hilfe").Range("B6").Value, iIndx, 1)
iPosit = iPosit + 1
sTemp = sTemp & sZeichen
If sZeichen = "." Or iPosit = 60 Then
GoSub Aufteilen
sTemp = ""
End If
Next iIndx
MsgBox sText, vbInformation, "Hilfe"
End If
Exit Sub
Aufteilen:
If Len(sTemp) > 60 Then
For iZeichen = 60 To 1 Step -1
If Mid(sTemp, iZeichen, 1) = " " Then
Mid(sTemp, iZeichen, 1) = Chr(10)
Exit For
End If
Next iZeichen
Else
sTemp = sTemp & Chr(10)
End If
sText = sText & sTemp
iPosit = 0
Return
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Zeilenumbruch
07.09.2006 18:45:38
selma
Hallo Peter,
Dein Code funktioniert nur teilweise
Hier der Text welcher im Hilfefenster erscheinen soll:
"Durchschnittlicher Beitragssatz zur Berufsgenossenschaft für alle Mitarbeiter, die an der Betriebsversammlung zur Einführung der betrieblichen Altersversorgung teilnehmen"
Das Ergebnis sieht so aus:
Durchschnittlicher Beitragssatz zur Berufsgenossenschaft für
alle Mitarbeiter, die an der Betriebsversammlung zur Einfüh"
Der Rest des Textes wird nicht angezeigt.
Wäre es auch möglich das Leerzeichen vor "alle" zu entfernen. Dies wäre dann das I-Tüfchen.
Viele Grüsse
selma
Anzeige
AW: Zeilenumbruch
07.09.2006 21:29:03
Peter Feustel
Hallo Selma,
mein letzter Versuch:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim sText     As String
Dim sTemp     As String
Dim sZeichen  As String
Dim iLaenge   As Integer: iLaenge = 60  ' die gewünschte Textlänge !!!
Dim iIndx     As Integer
Dim iPosit    As Integer
Dim iZeichen  As Integer
' wenn F1 Taste gedrückt
If KeyCode = 112 Then
For iIndx = 1 To Len(ThisWorkbook.Sheets("Hilfe").Range("B6").Value)
sZeichen = Mid(ThisWorkbook.Sheets("Hilfe").Range("B6").Value, iIndx, 1)
iPosit = iPosit + 1
sTemp = sTemp & sZeichen
If sZeichen = "." Or iPosit = iLaenge Then
GoSub Aufteilen
sTemp = ""
End If
Next iIndx
If sTemp <> "" Then GoSub Aufteilen
MsgBox sText, vbInformation, "Hilfe"
End If
Exit Sub
Aufteilen:
If Len(sTemp) = iLaenge Then
For iZeichen = iLaenge To 1 Step -1
If Mid(sTemp, iZeichen, 1) = " " Then
sTemp = Left(sTemp, iZeichen) & Chr(10)
iIndx = iIndx - (iLaenge - iZeichen)
Exit For
End If
Next iZeichen
Else
sTemp = sTemp & Chr(10)
End If
sText = sText & sTemp
iPosit = 0
Return
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Zeilenumbruch
07.09.2006 21:48:19
selma
Hallo Peter,
danke, dass Du Dich so eingesetzt hast.
Das Ergebnis gefällt mir sehr gut.
Danke nochmals
Viele Grüsse
selma
AW: Zeilenumbruch
07.09.2006 22:02:31
Peter Feustel
Hallo Selma,
eine kleine Schönheitskorrektur, mit der stehen die Zeilen linksbündig untereinander:
sText = sText & sTemp in sText = sText & Trim(sTemp) ändern.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Zeilenumbruch
07.09.2006 22:18:10
selma
Hallo Peter,
Super. Auch das I-Tüpfchen hast Du geschafft. Einfach klasse.
Viele Grüsse und Gute Nacht
selma

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige