Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 438

Laufzeitfehler 438
23.10.2022 16:20:42
RIchard
Hallo Zusammen
Ich hab folgenden Code in einem Forum gefunden, welcher mir die Spalten Ein/Ausblendet. Der Code ist für formatierte Tabellen geschrieben. Ich nehme an, dass dies der Grund ist, wesshalb der bei mir nicht läuft. Die ListenObjekte machen mir Probleme, weil ich meinem Code ohne formatierte Tabellen / Objekte verwenden möchte. Die Objekte "Auftraege" & "tblAuftraege" möchte ich über Bereiche definieren.
---Ursprünglicher Code----

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("tblAuftraege").HeaderRowRange
ListBox1.AddItem header
'Sichtbarkeit der Spalten in ListBox darstellen
Spaltenzahl = Auftraege.ListObjects("tblAuftraege").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
---Mein Code der leider nicht funktioniert-----

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 Range(Cells(14, 1), Cells(14, 74))
ListBox1.AddItem header
'Sichtbarkeit der Spalten in ListBox darstellen
Spaltenzahl = Overview.ListObjects(Range(Cells(14, 1), Cells(300, 74))).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
------------
Ich hoffe ihr könnt mir dabei helfen.
Liebe Gruess
Richi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 438
23.10.2022 16:34:21
Nepumuk
Hallo Richi,
teste mal:

Private Sub UserForm_Initialize()
Dim objCell As Range
Dim lngIndex As Long
With ListBox1
'Listbox mit TabellenobjCell füllen
For Each objCell In Range(Cells(14, 1), Cells(14, 74))
.AddItem objCell.Text
.Selected(lngIndex) = Not objCell.EntireColumn.Hidden
lngIndex = lngIndex + 1
Next
End With
End Sub
Gruß
Nepumuk
AW: Laufzeitfehler 438
23.10.2022 17:53:59
RIchard
Hallo Nepumuk
Funktioniert einwandfrei. Besten Dank.
Ist mir etwas peinlich, hab mir erhofft daraus den zweiten Step ableiten zu können. Doch ich raffe nicht, wie ich den Range auch in diesen Code integrieren kann
--------------------------------------

Private Sub Sichtbarkeit_setzen()
Dim objCell As Range
Dim lngIndex As Long
Dim i As Long
Application.ScreenUpdating = False
With ListBox1
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Columns(Range(Cells(14, 1), Cells(14, 74)).ListColumns(ListBox1.List(i)).Range.Column).EntireColumn.Hidden = False
Else
Columns(Range(Cells(14, 1), Cells(14, 74)).ListColumns(ListBox1.List(i)).Range.Column).EntireColumn.Hidden = True
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
------------------------
Wenn du mir hierbei noch helfen könntest.
Liebe Gruess
Richi
Anzeige
AW: Laufzeitfehler 438
23.10.2022 18:45:35
Nepumuk
Hallo Richi,
teste mal:

Private Sub Sichtbarkeit_setzen()
Dim lngIndex As Long
Application.ScreenUpdating = False
With ListBox1
For lngIndex = 0 To .ListCount - 1
Columns(lngIndex + 1).Hidden = Not .Selected(lngIndex)
Next
End With
Application.ScreenUpdating = True
End Sub
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige