Spalten ein-/ausblenden

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

Ähnliche themen

VBATrainer Excel VBA Coaching - Lagerverwaltung

Sichere dir jetzt meine kostenlose Lagerverwaltungs-Anwendung