Spalten ein-/ausblenden

Spalten einer Tabelle 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

				
			

Um VBA zu lernen und besser zu verstehen, empfehle ich dir mein kostenloses Grundlagentraining, in dem ich dir die ersten Schritt in Excel-VBA zeige.

Teile diesen Beitrag

Empfehlungen für dich

VBATrainer Excel VBA Coaching - Lagerverwaltung

Sichere dir jetzt meine kostenlose Lagerverwaltungs-Anwendung