UserForm Control.Tags / Tag vorhanden?

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
d'r Bastler
Beiträge: 832
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 224 Mal
Danksagung erhalten: 119 Mal

UserForm Control.Tags / Tag vorhanden?

#1

Beitrag von d'r Bastler »

Moin allerseits,

die Eigenschaft .Tag eines Controls in einer Userform hilft bei so mancher VBAstelei. Als Beispiel: ich ziehe und schreibe den Wert von Checkboxen oder Listinidizes in/aus eine(r) Optionentabelle. Was die Verarbeitung bestimmter Sets von Optionen natürlich vereinfacht. Alle Controls durchnudeln und in die Tabelle schreiben - und umgekehrt. Dabei ist die jeweilige Spalte als Tag im Control gespeichert.

Gibt es ein Tag noch nicht (weil als Reserve für später geplant), soll dafür aber auch keine Wert geschrieben werden. Hier am Beispiel Spalte 16 / P.

Code: Alles auswählen

Sub NoOptions() 'alle Optionen deaktivieren
Dim rng As Range
    With PM
        Set rng = Range(.Cells(1, 8), .Cells(1, 21))
        .Columns(8).Clear
        rng.Cells.Clear
    End With
End Sub

Sub AllOptions()    'alle Optionen aktivieren + BeispielParameter
Dim rng As Range, ctr As Control
    With PM
        Set rng = Range(.Cells(1, 9), .Cells(1, 21))
        rng.Cells = "x"
        On Error Resume Next        'Typenkonflikt, weil CBX noch leer
        .Cells(1, 8) = "1|2"
        .Cells(1, 9) = "1"
        .Cells(1, 12) = 2
        .Cells(1, 15) = "1,1"
        
        For Each ctr In usfPrintManager.Controls 'Tags für ReserveOptionen aussparen
            If Not ctr.Tag = "16" Then
                .Cells(1, 16) = ""
            Else
                .Cells(1, 16) = "x"
            End If
        Next
        
    End With
End Sub
Ohne Application.ScreenUpdating = False kann man richtig sehen, wie's XL arbeitet ;-)

Schöne Grüße
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste