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