Inhalt
- Spalten einer intelligenten Tabelle mithilfe einer UserForm ein- und ausblenden
- Intelligente Tabelle initialisieren
- UserForm designen: Hintergrundfarbe festlegen, Überschrift entfernen
- Eigenschaftenfenster aktivieren
- Toolsammlung/Werkzeugsammlung aktivieren
- Label/Beschriftungsfeld einfügen: Schriftart und -farbe verändern
- ListBox/Listenfeld einfügen und designen
- Überschriften einer intelligenten Tabelle in ListBox einfügen
- Obejekte und Events/Ereignisse in UserForms: UserForm_Initialize, ListBox1_Click, Image1_MouseDown
- Intelligente Tabelle umbenennen
- For Each Schleife
- ListBox/Listenfeld Kontrollkästchen einfügen und MultiSelect aktivieren
- Spalten-Sichtbarkeit in ListBox darstellen
- Spaltenzahl eines ListBox-Elements in einer intelligenten Tabelle auslesen
- If-Anweisung
- Sichtbarkeit einer Spalte auslesen und verändern
- ListBox-Element selektieren/auswählen
- Laufvariable
- Objekte (Bilder, Icons, Textfelder) nicht mehr verschieben beim Ausblenden von Spalten/Zeilen
- Schleife über alle Elemente einer ListBox
- CStr(): Variant zu einem String machen
- ListBox-Element auslesen
- UserForm Code optimieren
- Modulweite Variable dimensionieren und nutzen
- UserForm aus Excel heraus mit einem Button öffnen
- Alle Spalten einer intelligenten Tabelle ein- und ausblenden
- Eigene UserForm-Buttons designen
- Screenshots machen mit dem Snipping Tool
- Bild in eine UserForm einfügen
- Bildrahmen in UserForm entfernen
- Cursor über Bild in einer UserForm verändern
- Subroutine entwickeln
- Code optimieren 2: Application.Screenupdating = False
Code (UserForm)
Public EnableEvents As Boolean Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim i As Long Application.ScreenUpdating = False EnableEvents = False 'ListBox alle Elemente selektieren For i = 0 To ListBox1.ListCount - 1 ListBox1.Selected(i) = True Next i Call Sichtbarkeit_setzen Application.ScreenUpdating = True EnableEvents = True End Sub Private Sub Image2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Application.ScreenUpdating = False EnableEvents = False Dim i As Long 'ListBox alle Elemente deselektieren For i = 0 To ListBox1.ListCount - 1 ListBox1.Selected(i) = False Next i Call Sichtbarkeit_setzen Application.ScreenUpdating = True EnableEvents = True End Sub Private Sub UserForm_Initialize() Dim header As Variant Dim i As Long Dim Spaltenzahl As Long EnableEvents = False 'Listbox mit Tabellenheader füllen For Each header In Auftraege.ListObjects("Auftraege").HeaderRowRange ListBox1.AddItem header 'Sichtbarkeit der Spalten in ListBox darstellen Spaltenzahl = Auftraege.ListObjects("Auftraege").ListColumns(CStr(header)).Range.Column If Columns(Spaltenzahl).EntireColumn.Hidden = False Then ListBox1.Selected(i) = True End If i = i + 1 Next header EnableEvents = True End Sub Private Sub ListBox1_Change() If EnableEvents = True Then Call Sichtbarkeit_setzen End If End Sub Private Sub Sichtbarkeit_setzen() Dim i As Long Application.ScreenUpdating = False For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then Columns(Auftraege.ListObjects("Auftraege").ListColumns(ListBox1.List(i)).Range.Column).EntireColumn.Hidden = False Else Columns(Auftraege.ListObjects("Auftraege").ListColumns(ListBox1.List(i)).Range.Column).EntireColumn.Hidden = True End If Next i Application.ScreenUpdating = True 'Bereitgestellt von VBATrainer: www.vbatrainer.de End Sub
Code (Modul)
Sub UfHideUnhideLaden() UfHideUnhide.Show End Sub