Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formatierung von Controltiptext

Forumthread: Formatierung von Controltiptext

Formatierung von Controltiptext
18.02.2015 16:35:51
Andreas

Hallo Excelprofis,
ich habe mehrere UserForms die ich jetzt noch mit Hilfetexten versehen will.
Ist es möglich den Text vom Controltiptext noch zu formatieren? Also zum Beispiel Schriftart, Schriftgröße, Schriftfarbe (auch das "färben" einzelner Wörter wäre interessant), oder z.B. einen Zeilenumbruch einfügen?
Das einzige was ich im Netz gefunden habe ist folgender Code für das festlegen des Textes.


Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
TextBox05.ControlTipText = "Hilfetext"
End Sub
Könnt ihr mir bitte ein paar Tipps geben.
Danke fürs lesen und die Hilfe!
mfg, Andreas

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung von Controltiptext
18.02.2015 18:13:15
fcs
Hallo Andreas,
den Controltip-Text kann man nicht formatieren und auch Zeilenschaltungen sind nicht möglich.
Wenn du etwas individuelleres möchtest, dann solltes du ein Label-Steuerelement im Userform anlegen.
Dieses kann dann mit dem Mausmove-Ereignis der einzelnen Steuerelemente individuell beschriftet und auch ggf. auch positioniert werden.
Nachfolgend Beispielcode für ein Userfom mit verschiedenen Steuerelementen. Bezüglich Formatierungen ist man jedoch eingeschränkt auf die Eigenschaften des Steuerelements. D.h. Farbspielereien mit Textteilen sind z.B. nicht möglich.
Gruß
Franz
'### Die folgenden 4 Makros und Ereignis-Makros sind als Basis im Userform-Code erforderlich _
um individuelle Hilfetexte zu Steuerelementen in einem Label anzuzeigen   ####
'Labelname: lblHelp
'Das Label sollte linksbündig, mit Rahmen (rot), Schriftgröße min. 10 und hellem _
Hintergrund formatiert werden
Private Sub prcLabelHelp(strText As String, Optional objControl As Object, _
Optional dblHeight As Double = 30, Optional dblWidth As Double = 200)
'Ändert den Beschriftungstext des Labels, positioniert das Label optional unter _
dem Steuerelement und blendet das Hilfe-Label ein
'strText = anzuzeigender Text im Label lblHelp
'objControl = optional das Steuerelemnt zu dem der Hilfetext angezeigt werden soll _
Label wird dann unter dem Steueelement plaziert
'dblHeight = Höhe des Hilfe Labels
'dblWidth = Breite des Hilfe Labels
Me.lblHelp.Caption = strText
With Me.lblHelp
.Height = dblHeight
.Width = dblWidth
End With
If objControl Is Nothing Then
With Me.lblHelp
.Top = Me.Height - .Height - 22
.Left = 2
End With
Else
With objControl
Me.lblHelp.Top = .Top + .Height
Me.lblHelp.Left = .Left
End With
End If
Me.lblHelp.Visible = True
End Sub
Private Sub prcLabelHelpReset()
'Hilfe-Label wird links-unten im Userform plaziert und ausgeblendet
With Me.lblHelp
.Caption = "Hilfe-Label"
.Height = 30
.Width = 200
.Top = Me.Height - .Height - 22
.Left = 2
.Visible = False
End With
End Sub
Private Sub lblHelp_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
'Wird die Maus über den Hilfetext bewegt wird dieser ausgeblendet
Call prcLabelHelpReset
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
'Wird die Maus über den Userformbereich bewegt wird der Hilfetext ausgeblendet
Call prcLabelHelpReset
End Sub
'#### Beispiele zur Hilfetext-Anzeige im Label lblHelp  ####
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("Listbox1 - Hilfe" & vbLf & "Hier irgendetwas auswählen", Me.ListBox1)
End Sub
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("TextBox1 - PLZ" & vbLf & "Hier die PLZ 5-Stellig eingeben", Me.TextBox1)
End Sub
Private Sub TextBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("TextBox2 - Nachname" _
& vbLf & "Hier den Nachnamen eingeben" _
& vbLf & "3. Zeile", dblHeight:=45)
End Sub
Private Sub Frame1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("Option - Getränk" & vbLf & "Hier Option für Getränk wählen", Me.Frame1)
End Sub

Anzeige
AW: Formatierung von Controltiptext
18.02.2015 18:25:12
Andreas
Hallo Franz,
vielen Dank für den Tipp und die Hilfe. Werde es mal testen.
mfg, Andreas

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Formatierung von ControlTipText in Excel VBA


Schritt-für-Schritt-Anleitung

Um den ControlTipText in einem UserForm zu nutzen, kannst Du den folgenden VBA-Code verwenden. Beachte, dass die Formatierung des ControlTipText direkt nicht möglich ist, aber Du kannst stattdessen Labels verwenden, um anpassbare Hilfetexte anzuzeigen.

  1. Öffne die Excel-Datei und gehe in den VBA-Editor (Alt + F11).
  2. Erstelle ein neues UserForm.
  3. Füge ein TextBox-Steuerelement und ein Label-Steuerelement hinzu.
  4. Verwende den folgenden VBA-Code, um den ControlTipText zu definieren und das Label für hilfe Texte einzurichten:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    TextBox1.ControlTipText = "Gib hier deinen Text ein"
End Sub

Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Call prcLabelHelp("Hier kannst du deinen Text eingeben", Me.TextBox1)
End Sub

Private Sub prcLabelHelp(strText As String, Optional objControl As Object)
    Me.lblHelp.Caption = strText
    Me.lblHelp.Visible = True
    If Not objControl Is Nothing Then
        Me.lblHelp.Top = objControl.Top + objControl.Height
        Me.lblHelp.Left = objControl.Left
    End If
End Sub

Häufige Fehler und Lösungen

  • Fehler: ControlTipText wird nicht angezeigt.

    • Lösung: Stelle sicher, dass das Steuerelement, für das Du den ControlTipText gesetzt hast, auch den Fokus hat.
  • Fehler: Das Label wird nicht angezeigt.

    • Lösung: Überprüfe die Sichtbarkeit des Labels im Code und stelle sicher, dass die Position korrekt gesetzt ist.

Alternative Methoden

Wenn Du mehr Kontrolle über die Formatierung benötigst, kannst Du stattdessen ein Label verwenden. Hier sind einige Alternativen:

  • Label-Steuerelement: Verwende Labels, um Hilfetexte anzuzeigen, die formatiert werden können (Schriftart, Größe, Farbe).
  • Tooltips für andere Steuerelemente: Du kannst auch das ControlTipText für andere Steuerelemente wie ListBoxen oder ComboBoxen verwenden.

Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung von ControlTipText und Labels in einem UserForm:

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Call prcLabelHelp("Wähle ein Element aus der Liste", Me.ListBox1)
End Sub

Private Sub TextBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Call prcLabelHelp("Gib deinen Nachnamen ein", Me.TextBox2)
End Sub

Tipps für Profis

  • Experimentiere mit verschiedenen Schriftarten und -größen im Label, um den Hilfetext ansprechender zu gestalten.
  • Überlege, ob Du weitere Steuerelemente wie Frames oder Shapes verwenden möchtest, um den Hilfetext visuell hervorzuheben.
  • Nutze die vbLf-Konstante, um Zeilenumbrüche im Hilfetext zu integrieren.

FAQ: Häufige Fragen

1. Kann ich den ControlTipText für TextBoxen formatieren?
Nein, der ControlTipText kann nicht formatiert werden. Stattdessen solltest Du Labels verwenden.

2. Wie kann ich einen Zeilenumbruch im ControlTipText einfügen?
Zeilenumbrüche sind im ControlTipText nicht möglich. Nutze Labels, um mehrzeilige Hilfetexte anzuzeigen.

3. Gibt es Einschränkungen bei der Verwendung von ControlTipText in Excel VBA?
Ja, die Formatierungsmöglichkeiten sind begrenzt. Für komplexere Anforderungen ist es besser, Labels oder andere Steuerelemente zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige