Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: automatische Aktualisierung der Listboxen

automatische Aktualisierung der Listboxen
13.02.2013 11:04:16
Max
Hallo an alle Mitglieder hier im Forum,
ich moechte mich erst einmal bei euch dafuer bedanken, dass Ihr durch eure Beitraege ermoeglicht, dass sich jeder NichtVBAexperte Programmierungen zusammenstellen oder auch nachvollziehen kann.
Fuer meine Ansprueche hat bisher die Suchfunktion immer einen Treffer geliefert – Dafuer vielen Dank!
Dieses mal habe ich erneut versucht eine Programmierung auf meine Beduerfnisse abzuaendern, bin jedoch gescheitert. Ich denke, dass es eigentlich nicht kompliziert ist. Ich als VBAunfaehiger Mensch bin jedoch ueberfordert. Daher die Bitte um eure Mithilfe.
Die Programmierung selbst funktioniert, jedoch bekomme ich es nicht hin, dass die Sheets am Ende auch in der richtigen ListBox angezeigt werden. (Der letzte Abschnitt). Dabei soll folgendes passieren:
Ist das Blatt:
Versteckt – soll es in der Box lbHidden angezeigt werden
Unsichtbar – soll es in der Box lbvhidden angezeigt werden
Sichtbar – soll es in der Box lbNon angezeigt werden
Ich habe schon mehrere Versuche gestartet, jedoch werden mir die Blaetter in unterschiedlichen Boxen angezeigt oder aber etwas anderes laeuft schief.
Anbei der Code in der Hoffnung, dass mir jemand helfen kann.
Private Sub btnHide_Click()
For i = 0 To lbNon.ListCount - 1
If lbNon.Selected(i) = True Then
For j = 1 To Sheets.Count
If Sheets(j).Name = lbNon.List(i) Then
arrSheets(j) = False
Sheets(j).Visible = False
End If
Next j
End If
Next i
UpdateForm
End Sub
Private Sub btnUnhide_Click()
For i = 0 To lbHidden.ListCount - 1
If lbHidden.Selected(i) = True Then
For j = 1 To Sheets.Count
If Sheets(j).Name = lbHidden.List(i) Then
arrSheets(j) = True
Sheets(j).Visible = True
End If
Next j
End If
Next i
UpdateForm
End Sub
Private Sub btnvhide_Click()
For i = 0 To lbNon.ListCount - 1
If lbNon.Selected(i) = True Then
For j = 1 To Sheets.Count
If Sheets(j).Name = lbNon.List(i) Then
arrSheets(j) = False
Sheets(j).Visible = xlSheetVeryHidden
End If
Next j
End If
Next i
UpdateForm
End Sub
Private Sub btnvunheid_Click()
For i = 0 To lbvhidden.ListCount - 1
If lbvhidden.Selected(i) = True Then
For j = 1 To Sheets.Count
If Sheets(j).Name = lbvhidden.List(i) Then
arrSheets(j) = True
Sheets(j).Visible = True
End If
Next j
End If
Next i
UpdateForm
End Sub
Private Sub btnClose_Click()
Me.Hide
End Sub

Sub UpdateForm()
lbNon.Clear
lbHidden.Clear
lbvhidden.Clear
For i = 1 To Sheets.Count
arrSheets(i) = Sheets(i).Visible
If arrSheets(i) And arrSheets(i) xlSheetsVeryHidden Then
frmSelect.lbNon.AddItem Sheets(i).Name
ElseIf arrSheets(i) And arrSheets(i) = xlSheetsVeryHidden Then
frmSelect.lbvhidden.AddItem Sheets(i).Name
Else
frmSelect.lbHidden.AddItem Sheets(i).Name
End If
Next i
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: automatische Aktualisierung der Listboxen
13.02.2013 11:49:58
Hajo_Zi
If Sheets(j).Visible = xlSheetVeryHidden then
lbHidden.additem Sheets(j).name
End if

AW: automatische Aktualisierung der Listboxen
13.02.2013 12:00:43
Max
Hallo und Vielen Dank schon einmal. Es funktioniert insofern, dass das unsichtbare Sheet jetzt auch in der richtigen Box angezeigt wird. Jedoch wird es im unsichtbaren Zustand auch in der Box Sichtbar angezeigt - also 2 mal angezeigt.

Anzeige
AW: automatische Aktualisierung der Listboxen
13.02.2013 12:03:18
Hajo_Zi
für das füllen der anderen Listbox habe ich nichts vorgeschlagen, da musst Du den Fragen der Dir das vorgeschlagen hat.
Gruß Hajo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige