/ / Elenco dei fogli di lavoro nascosti - excel, excel-vba, vba

Elenca fogli di lavoro nascosti - excel, excel-vba, vba

Ho un registro materiali che sto creando

A causa della regolamentazione quando un materiale (ogni materialeha il suo foglio di lavoro con un numero casuale di 3 cifre aggiunto alla fine per consentire lo stesso nome più volte) viene eliminato non può essere effettivamente eliminato, quindi per aggirare questo mio libro di esercizi nasconde il foglio e usando un controllo di cancellazione nella pagina di riepilogo si nasconde la riga appropriata.

Tuttavia, ciò con cui sto lottando è una funzione per ripristinare il foglio,

Ho il codice di cui ho bisogno per farlo, ma non riesco a trovare alcuna funzione elenca i fogli nascosti.

Questo elenco può essere inserito nel libro di lavoro in una colonna nascosta in modo da poterlo fare riferimento con la mia macro ma, come ho già detto, non riesco a trovare comunque per elencare solo i fogli che sono nascosti.

Grazie per l'aiuto

risposte:

1 per risposta № 1

È possibile aggiungere al codice che si nasconde per scrivere il nome del foglio che si nasconde nell'altra scheda nascosta e aggiungere il contrario al codice che lo nasconde.

Non sono sicuro se il seguito sia applicabile alla tua situazione, ma potresti anche inserire del codice negli eventi del foglio di lavoro da acquisire quando il foglio viene reso invisibile

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

0 per risposta № 2

Questo aiuta ..

" 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 per risposta № 3

I fogli nascosti possono essere Nascosto o VeryHidden, per acquisire questi:

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