Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

In der USERFORM mehrere TextBoxen gleichzeitig in länge, höhe und Schriftgröße mittels VBA Kode gestalten.

Дата публикации: 04-08-2026 05:55:35



Основное содержимое страницы с новостью.

Hallo und guten Tag,

ich möchte "In der USERFORM mehrere TextBoxen gleichzeitig in Länge, Höhe und Schriftgröße mittels VBA Kode gestalten." Dazu habe ich einen VBA-Kode, der mir die Gestaltung abnimmt. Wenn ich aber diesen Kode deaktiviere, ist die Gestaltung der TextBoxen wieder dahin. Kann mir jemand in dem weiterhelfen, weil es doch sehr mühsam jede TextBox separat zu gestallten?

Rich (BBCode):

Option Explicit

Private Sub UserForm_Initialize()

    Dim ws As Worksheet
    Dim ctrl As MSForms.Control

    Set ws = ThisWorkbook.Worksheets("Stammdaten")

    For Each ctrl In Me.Controls

        If TypeName(ctrl) = "TextBox" Then

            'Darstellung
            ctrl.Font.Size = 12
            ctrl.Height = 24

            'Wert anhand des Tag-Feldes laden
            If Trim$(ctrl.Tag) <> "" Then
                ctrl.Value = ws.Range(ctrl.Tag).Value
            End If

        End If

    Next ctrl

End Sub

Hallo,
Ich kann jetzt nicht wirklich VBA, aber so wie ich das verstehe, hast du ja die Gestaltung der Textboxen zur Laufzeit verändert.
Wenn du den Code nun deaktivierst, springt die Form auf die Augangswerte zurück.
Ich würde den Code in zwei Teile aufteilen so das du per Schalter entscheiden kannst was geladen wird, nur Design oder auch Datenauslesen.

Hier mal ein Beispiel welches ich mit Claude habe erstellen lassen:

Code:

Option Explicit

Private Const APPLY_FORMATTING As Boolean = True   ' Schalter: True/False

Private Sub UserForm_Initialize()

    LadeStammdaten

    If APPLY_FORMATTING Then
        FormatiereTextBoxen
    End If

End Sub

Private Sub LadeStammdaten()

    Dim ws As Worksheet
    Dim ctrl As MSForms.Control

    Set ws = ThisWorkbook.Worksheets("Stammdaten")

    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            If Trim$(ctrl.Tag) <> "" Then
                ctrl.Value = ws.Range(ctrl.Tag).Value
            End If
        End If
    Next ctrl

End Sub

Private Sub FormatiereTextBoxen()

    Dim ctrl As MSForms.Control

    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            ctrl.Font.Size = 12
            ctrl.Height = 24
        End If
    Next ctrl

End Sub

Viele Grüße

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Product @ AI: így hallgatsz meg több százezer usert egyszerre (demó)0511-02-2026
2Если вы думаете, что такие фото сделать не сложно… 01.9804-08-2026
3Как писать с LLM. Колонка главреда06.6301-07-2026
4Оптимизация запросов под выдачу ИИ0506-05-2026
5В ЭТОМ МИРЕ РЕАЛИТИ ТРИСТАЙЛ В ЭТОМ МИРЕ РЕАЛИТИ ТРИСТАЙЛ ...15.0422-07-2026
6Яркий чувственный образ в четыре руки для прекрасной Валерии на ...7517-07-2026
7Могу предложить✅ Цены указаны с оформлением до сохранения✅ * 001 ...017.4527-07-2026
8Написал статью на бастион - Лучшие практики проектирования промптов. Это ...05.0726-07-2026
9Молодежь захотела одеваться в стиле итальянских бабушек01004-08-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 8.71. Источник: www.tutorials.de.