/ / Versteckte Arbeitsblätter auflisten - excel, excel-vba, vba

Listet versteckte Arbeitsblätter auf - excel, excel-vba, vba

Ich habe ein Materialregister, das ich erstelle

Aufgrund der Regulierung, wenn ein Material (jedes MaterialEs wurde ein eigenes Arbeitsblatt mit einer dreistelligen Zufallszahl am Ende hinzugefügt, damit derselbe Name mehrmals verwendet werden kann.) Es kann nicht gelöscht werden. Um dies zu umgehen, wird das Arbeitsblatt in meiner Arbeitsmappe ausgeblendet und die Löschprüfung auf der Zusammenfassungsseite ausgeblendet die entsprechende Reihe.

Was ich jedoch kämpfe, ist eine Funktion, um das Blatt wiederherzustellen,

Ich habe den Code, den ich brauche, um dies zu tun, aber ich kann keine Funktion finden liste versteckte Blätter auf.

Diese Liste kann in einer ausgeblendeten Spalte in die Arbeitsmappe eingefügt werden, damit ich sie mit meinem Makro referenzieren kann, aber wie gesagt, ich kann trotzdem keine Liste nur ausgeblendeter Blätter finden.

Danke für Ihre Hilfe

Antworten:

1 für die Antwort № 1

Sie können Ihrem Code, der sich versteckt, den Namen des ausgeblendeten Blatts hinzufügen und Ihrem Code, der es versteckt, den umgekehrten Namen hinzufügen.

Wir sind uns nicht sicher, ob das Folgende auf Ihre Situation zutrifft, aber Sie können auch Code in Arbeitsblattereignisse einfügen, um zu erfassen, wann das Blatt unsichtbar gemacht wird

Private Sub Worksheet_Deactivate()
If Me.Visible = xlSheetHidden Then MsgBox "I have been hidden"
End Sub

0 für die Antwort № 2

Hilft das ..

" Function to be used in array formula on sheet to list hidden sheets
Public Function ListHiddenSheets()
Dim hiddenSheets As New dictionary

Dim sheet As Worksheet
For Each sheet In Worksheets
If sheet.Visible <> xlSheetVisible Then hiddenSheets.Add sheet.Name, Null
Next sheet

Dim vRes() As Variant
ReDim vRes(0 To hiddenSheets.Count, 0 To 0)

Dim idx As Integer
For idx = 0 To hiddenSheets.Count - 1
vRes(idx, 0) = hiddenSheets.keys(idx)
Next idx

ListHiddenSheets = vRes
End Function

?


0 für die Antwort № 3

Versteckte Laken können sein Versteckt oder Sehr versteckt, um diese zu erfassen:

ub ListEm()
Dim ws As Worksheet
Dim StrHid As String
Dim strVHid As String
For Each ws In ActiveWorkbook.Worksheets
Select Case ws.Visible
Case xlSheetVisible
Case xlSheetHidden
StrHid = StrHid & ws.Name & vbNewLine
Case Else
strVHid = strVHid & ws.Name & vbNewLine
End Select
Next
If Len(StrHid) > 0 Then MsgBox StrHid, vbOKCancel, "Hidden Sheets"
If Len(strVHid) > 0 Then MsgBox strVHid, vbOKCancel, "Very Hidden Sheets"
End Sub