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

TextBox auf UserForm - Scrollbars IMMER sichtbar

Forumthread: TextBox auf UserForm - Scrollbars IMMER sichtbar

TextBox auf UserForm - Scrollbars IMMER sichtbar
22.05.2019 14:10:43
Michael
Hallo Zusammen,
wie erreiche ich es das die Scrollbars einer Textbox auf einer UserForm IMMER sichtbar sind ?
Ich habe es schon damit versucht (siehe code unten), aber auch hier bekomme ich die Scrollbars erst angezeigt wenn die Textbox den Fokus erhält. Das will ich aber nicht, meine Textbox soll sofort beim öffnen der UserForm die Scrollbars anzeigen, unabhängig davon ob sie den Fokus hat und auch unabhängig davon wie viel Text sie gerade anzeigt (und wenn es nur ein Buchstabe ist).
Private Sub UserForm_Initialize()
With TextBox1
.EnterKeyBehavior = True
.MultiLine = True
.ScrollBars = fmScrollBarsVertical
End With
End Sub
Kann mir da jemand weiter helfen?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: TextBox auf UserForm - Scrollbars IMMER sichtbar
22.05.2019 14:24:20
Philipp
Hallo Michael,
ich habe das bisher wie folgt gemacht und noch keine Probleme damit gehabt. Wähle die TextBox aus und selektiere im Eigenschaftenfenster unter im Dropdown-Menü zu "ScrollBars" den Eintrag "2 - fmScrollBarsVertical".
Ich hoffe, das hilft weiter.
Viele Grüße
Philipp
Anzeige
AW: TextBox auf UserForm - Scrollbars IMMER sichtbar
22.05.2019 15:14:16
Philipp
Ich sehe gerade, dass meine Antwort keine Antwort zu Deiner Frage ist. Mit dem von mir aufgezeigten Weg erreicht man das gleiche, wie mit dem von Dir geposteten Code, nämlich, dass die Scrollbar angezeigt wird, wenn der Text zu viel wird (vorausgesetzt Multiline hat den Wert "True").
Du hast ja eine ähnliche Fragestellung wie dieser Nutzer hier: https://www.herber.de/forum/archiv/740to744/743893_scrollbar_und_textbox_noch_einmal.html
Entschuldige bitte die unnötige Antwort.
Anzeige
AW: TextBox auf UserForm - Scrollbars IMMER sichtbar
22.05.2019 16:17:42
Michael
Hallo Philipp,
trotzdem erst mal danke.
Leider ist aber auch meine Frage mit dem Inhalt aus Deinem Link nicht beantwortet, da dieser Thread zum einen einen anderen Ansatz verfolgt (den ich gar nicht mal so schlecht finde) aber auch nie beantwortet wurde.
Falls Du oder jemand anderes noch eine Idee hat, immer gerne her damit.
Anzeige
AW: TextBox auf UserForm - Scrollbars IMMER sichtbar
22.05.2019 18:44:01
Michael
Hallo Zusammen,
Problem, bestimmt nicht elegant, aber gelöst.
In einem englischen Forum habe ich den Tip gesehen einen ControlTipText ein zu setzen um dem User damit deutlich zu machen das er evtl. Rollen muss (Text boxes do not show the scrollbars until they contain text that required scrolling - Please click the box and scroll down if you miss something)
Das hat mich jetzt auf die Idee gebracht die Textbox einfach beim UserForm_Initialize() zu überfüllen, somit quasi die Anzeige der Scrollbalken zu forcieren und damit man das nicht sieht hab ich ForeColor und BackColor identisch gemacht.
Private Sub UserForm_Initialize()
'Textbox überlisten damit sie direkt die scrollbalken anzeigt
TextBox_TestcaseDescription.ForeColor = RGB(224, 224, 224)
TextBox_TestcaseDescription.BackColor = RGB(224, 224, 224)
TextBox_TestcaseDescription.Value = "einfach so viele Zeichen hier rein packen bis meine  _
TextBox überfüllt war um die Scrollbalken an zu zeigen"
TextBox_TestcaseDescription.SetFocus
' anschliessend die anderen Aktionen ausführen die beim UserForm_Initialize() stattfinden  _
sollen
' und zum schluss die Textbox über meine Schleife wieder mit dem korrektem Text geladen und die  _
Schriftfarbe wieder auf schwarz gesetzt. Auch den Focus kann man dann wieder auf ein anderes Feld legen
End Sub

Das ganze geht so schnell das der Benutzer Augenscheinlich nur eine Textbox mit Scrollbalken sieht auch wenn in der eigentlichen Textbox nur zwei Zeichen stehen.
Topic Closed - es sei denn jemand hat eine elegante Idee für mich, aber so wie ich das verstanden habe geht das erst mal nicht
PS: Ja ich weiß, von hinten durch die Brust ins Auge ;-)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Scrollbars in Excel UserForms immer sichtbar machen


Schritt-für-Schritt-Anleitung

Um die Scrollbars einer TextBox auf einer UserForm in Excel VBA immer sichtbar zu machen, kannst Du den folgenden Code verwenden:

  1. Öffne den VBA-Editor (Alt + F11).

  2. Füge eine UserForm hinzu.

  3. Füge eine TextBox zur UserForm hinzu.

  4. Füge den folgenden Code in das Codefenster der UserForm ein:

    Private Sub UserForm_Initialize()
       With TextBox1
           .EnterKeyBehavior = True
           .MultiLine = True
           .ScrollBars = fmScrollBarsVertical
           .Value = "Hier steht ein Beispieltext, um die Scrollbar sichtbar zu machen." & vbCrLf & _
                     "Fügen Sie mehr Text hinzu, um das Verhalten zu testen."
       End With
    End Sub
  5. Stelle sicher, dass die Eigenschaften der TextBox so eingestellt sind, dass die MultiLine-Option auf "True" gesetzt ist.


Häufige Fehler und Lösungen

Fehler: Scrollbars erscheinen erst nach Fokus auf die TextBox.

  • Lösung: Stelle sicher, dass die ScrollBars-Eigenschaft auf fmScrollBarsVertical gesetzt ist und die TextBox beim Initialisieren mit Text gefüllt wird.

Fehler: Scrollbars verschwinden, wenn der Text weniger als erwartet ist.

  • Lösung: Fülle die TextBox mit Dummy-Text, um die Scrollbars sofort anzuzeigen, wie im Beispiel oben gezeigt.

Alternative Methoden

Eine alternative Methode, um die Scrollbars in einer UserForm sichtbar zu machen, besteht darin, die TextBox beim Initialisieren mit einer großen Menge an Text zu füllen. Du kannst auch die ControlTipText-Eigenschaft nutzen, um dem Benutzer Hinweise zu geben:

Private Sub UserForm_Initialize()
    TextBox_TestcaseDescription.ControlTipText = "Bitte scrollen Sie, um mehr Text zu sehen."
    TextBox_TestcaseDescription.Value = "Füge hier viele Zeichen ein..."
End Sub

Diese Methode gibt dem Benutzer einen visuellen Hinweis, dass er die TextBox scrollen kann.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du die ScrollBar für eine TextBox einrichten kannst:

Private Sub UserForm_Initialize()
    With TextBox1
        .MultiLine = True
        .ScrollBars = fmScrollBarsVertical
        .Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." & vbCrLf & _
                  "Duis aute irure dolor in reprehenderit in voluptate velit esse." & vbCrLf & _
                  "Nemo enim ipsam voluptatem quia voluptas sit aspernatur."
    End With
End Sub

In diesem Beispiel wird die TextBox mit mehrzeiligem Text gefüllt, um die ScrollBar sofort anzuzeigen.


Tipps für Profis

  • Verwende die ForeColor und BackColor-Eigenschaften: Um die visuelle Darstellung der TextBox zu verbessern, kannst Du die Farben anpassen, um Dummy-Text unsichtbar zu machen.
  • Testen auf verschiedenen Bildschirmauflösungen: Stelle sicher, dass die UserForm und die Scrollbars auf unterschiedlichen Bildschirmgrößen gut aussehen.
  • Vermeide übermäßige Dummy-Texte: Zu viel Text kann verwirrend sein. Halte es einfach und verständlich für den Benutzer.

FAQ: Häufige Fragen

1. Wie kann ich die Scrollbars horizontal anzeigen? Du kannst die Scrollbars horizontal einstellen, indem Du .ScrollBars = fmScrollBarsHorizontal verwendest.

2. Funktioniert dies in allen Excel-Versionen? Ja, diese Methode ist in den meisten modernen Excel-Versionen verfügbar, die VBA unterstützen.

3. Was ist, wenn meine TextBox nicht groß genug ist? Stelle sicher, dass Deine TextBox groß genug ist, um den Text anzuzeigen. Du kannst die Größe der TextBox in den Eigenschaften anpassen.

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