Vous pouvez faire une boucle à travers les feuilles de calcul, des colonnes et des rangées de vérification de la feuille de calcul.visible et la gamme.propriétés cachées. Ci-dessous quelques rapide et sale de code qui affichera tous les éléments cachés dans la fenêtre exécution.
Sub FindHidden()Dim wks As Worksheet
Dim rng As Range
ForEach wks In ThisWorkbook.Worksheets
If wks.Visible = xlSheetHidden Then
Debug.Print "Worksheet: "& wks.Name &" is hidden."ElseIf wks.Visible = xlSheetVeryHidden Then
Debug.Print "Worksheet: "& wks.Name &" is very hidden."EndIfForEach rng In wks.UsedRange.Rows
If rng.Hidden =TrueThen
Debug.Print "Worksheet: "& wks.Name &" Hidden Row: "& rng.Row
EndIfNext rng
ForEach rng In wks.UsedRange.Columns
If rng.Hidden =TrueThen
Debug.Print "Worksheet: "& wks.Name &" Hidden Column: "& Left(Replace(rng.Address,"$",""),1)EndIfNext rng
Next wks
EndSub
+1 Devrait répondre à vos besoins Merci - c'est ce que je cherchais. Ce n'est pas la sortie correcte de l'information sur les colonnes masquées avec 2 ou plus de lettres de colonne. (AA, AB, etc). J'ai résolu ce problème en remplaçant Left(Replace(rng.Address, "$", ""), 1) avec Split(rng.Address(True, False), "$")(0)
Je garde la procédure ci-dessous dans mon Personal.xls fichier et disposent d'un bouton sur la Barre d'outils Accès Rapide à exécuter. Il affiche toutes les feuilles masquées et très caché des feuilles dans une fenêtre pop-up boîte de dialogue qui vous donne également la possibilité d'afficher une seule feuille ou Cachés, tous les veryHidden ou les deux.
Ce qui ne présentent pas le caché cellules/lignes/colonnes, mais a été très utile pour trouver et afficher les feuilles. J'utilise Dave Mappit Addin a noté ci-dessus pour l'analyse plus détaillée.
Code est ci-dessous:
Sub UnHideStuff()'----------------------------------------------------------------------------' UnHideStuff Macro' Written by ProdOps' 13-Feb-2010'' Provides an input dialog box that displays the names of all Hidden and all' VeryHidden worksheets in the workbook and allows the user to enter the' name of the worksheet they want to unhide.' * will unhide all Veryhidden sheets' ** will unhide all Hidden sheets.' *** will unhide all worksheets in the workbook''----------------------------------------------------------------------------Dim Message AsStringDim Title AsStringDimDefaultAsStringDim myValue AsStringDim myList AsStringDim Sheetnum AsLong'Build a list of VeryHidden Sheets
myList ="'INVISIBLE WORKSHEET NAMES(*)':"For Sheetnum =1To Sheets.Count
If Sheets(Sheetnum).Visible =2Then
myList = myList & vbCrLf &" "& Sheets(Sheetnum).Name
EndIfNext Sheetnum
If myList ="'INVISIBLE WORKSHEET NAMES(*)':"Then
myList = myList & vbCrLf &" No Invisible Sheets in This Workbook"EndIf'Build a list of Hidden Sheets
myList = myList & vbCrLf & vbCrLf &"'HIDDEN WORKSHEET NAMES(**)':"For Sheetnum =1To Sheets.Count
If Sheets(Sheetnum).Visible =0Then
myList = myList & vbCrLf &" "& Sheets(Sheetnum).Name
EndIfNext Sheetnum
If Right(myList,11)="NAMES(**)':"Then
myList = myList & vbCrLf &" No Hidden Sheets in This Workbook"EndIf'Build the Textbox Message & Title
Message ="Enter the 'Name' of the WorkSheet to Unhide"& vbCrLf
Message = Message &"Or * - All Invisible, ** - All Hidden, *** - All"& vbCrLf & vbCrLf
Message = Message & myList
Title ="Unhide Hidden Worksheets"Default=""'Display the Message Box and retrive the user's input
myValue = InputBox(Message, Title,Default)'Test the value entered by the userIf myValue =""ThenExitSub'User pressed CANCELIf myValue ="*"Then'User wants all the VeryHidden sheets displayedFor Sheetnum =1To Sheets.Count
If Sheets(Sheetnum).Visible =2Then Sheets(Sheetnum).Visible =TrueNext Sheetnum
GoTo NormalExit
EndIfIf myValue ="**"Then'User wants all the Normal Hidden sheets displayedFor Sheetnum =1To Sheets.Count
If Sheets(Sheetnum).Visible =0Then Sheets(Sheetnum).Visible =TrueNext Sheetnum
GoTo NormalExit
EndIfIf myValue ="***"Then'User wants all worksheets displayedFor Sheetnum =1To Sheets.Count
Sheets(Sheetnum).Visible =TrueNext Sheetnum
GoTo NormalExit
EndIfOnErrorGoTo ErrorTrap
Sheets(myValue).Visible = xlSheetVisible
Sheets(myValue).Select
Range("A1").Select
NormalExit:ExitSub
ErrorTrap:If Err =9Then
MsgBox "Either the Worksheet Does Not Exist or "& vbCrLf &"the Worksheet Name was Misspelled", vbCritical,"Worksheet Not Found"
Err.Clear
Call UnHideStuff
EndIfEndSub
Ici est une méthode très similaire à Banjoe, qui sera de retour le nombre de feuilles masquées, de colonnes et de lignes qu'il y a (en supposant que vous n'avez pas besoin de l'info sur les lignes et veulent juste un rapport).
Noter que l'utilisation de la "UsedRange' pour les lignes/colonnes signifie que le compte ne sera pas inclure des lignes/colonnes qui ne contiennent pas toutes les données (mais la macro sera plus rapide).
Voici le code:
Sub HiddenReport()
Application.ScreenUpdating =FalseDim wks As Worksheet
Dim rng As Range
Dim sCount AsLong, rCount AsLong, cCount AsLongForEach wks In ThisWorkbook.Worksheets
If wks.Visible = xlSheetHidden Then sCount = sCount +1If wks.Visible = xlSheetVeryHidden Then sCount = sCount +1ForEach rng In wks.Rows ' or wks.UsedRange.RowsIf rng.Hidden =TrueThen rCount = rCount +1NextForEach rng In wks.Columns ' or wks.UsedRange.ColumnsIf rng.Hidden =TrueThen cCount = cCount +1NextNext
Application.ScreenUpdating =True
MsgBox sCount &" hidden sheets found."& vbLf & _
rCount &" hidden rows found."& vbLf & _
cCount &" hidden columns found."EndSub
Veuillez noter que vous pouvez également utiliser la fonction "inspecter le document" dans Excel pour voir si un document a caché des feuilles/lignes/colonnes.
Une autre option est de moi (gratuit) Mappit! addin disponible ici qui souligne
zones cachées sur chaque feuille d'essai (voir rose zone ombrée ci-dessous),
et produit également une interdépendants la feuille de résumé qui indique comment les feuilles de calcul sont connectés avec les formules (peu importe si elles sont visibles, cachés ou bien cachés)
Votre question m'a incité à regarder la mise à jour de la fiche de lien de sortie à la couleur pour mettre en évidence les feuilles sont cachés, ou bien cachés.
[Mise À Jour: MappitV1.11 mis à jour en tant que ci-dessous afin de fournir de l'information sur la feuille de visibilité. Maintenant mis à jour pour MappitV1.11a feuilles vides qui ont été cachés n'ont pas été signalée sur la fiche-résumé]
Vous pouvez faire une boucle à travers les feuilles de calcul, des colonnes et des rangées de vérification de la feuille de calcul.visible et la gamme.propriétés cachées. Ci-dessous quelques rapide et sale de code qui affichera tous les éléments cachés dans la fenêtre exécution.
Merci - c'est ce que je cherchais.
Ce n'est pas la sortie correcte de l'information sur les colonnes masquées avec 2 ou plus de lettres de colonne. (AA, AB, etc). J'ai résolu ce problème en remplaçant
Left(Replace(rng.Address, "$", ""), 1)
avecSplit(rng.Address(True, False), "$")(0)
OriginalL'auteur Banjoe
Je garde la procédure ci-dessous dans mon Personal.xls fichier et disposent d'un bouton sur la Barre d'outils Accès Rapide à exécuter. Il affiche toutes les feuilles masquées et très caché des feuilles dans une fenêtre pop-up boîte de dialogue qui vous donne également la possibilité d'afficher une seule feuille ou Cachés, tous les veryHidden ou les deux.
Ce qui ne présentent pas le caché cellules/lignes/colonnes, mais a été très utile pour trouver et afficher les feuilles. J'utilise Dave Mappit Addin a noté ci-dessus pour l'analyse plus détaillée.
Code est ci-dessous:
OriginalL'auteur ProdOps
Ici est une méthode très similaire à Banjoe, qui sera de retour le nombre de feuilles masquées, de colonnes et de lignes qu'il y a (en supposant que vous n'avez pas besoin de l'info sur les lignes et veulent juste un rapport).
Voici le code:
Veuillez noter que vous pouvez également utiliser la fonction "inspecter le document" dans Excel pour voir si un document a caché des feuilles/lignes/colonnes.
OriginalL'auteur aevanko
Une autre option est de moi (gratuit) Mappit! addin disponible ici qui souligne
Votre question m'a incité à regarder la mise à jour de la fiche de lien de sortie à la couleur pour mettre en évidence les feuilles sont cachés, ou bien cachés.
[Mise À Jour: MappitV1.11 mis à jour en tant que ci-dessous afin de fournir de l'information sur la feuille de visibilité. Maintenant mis à jour pour MappitV1.11a feuilles vides qui ont été cachés n'ont pas été signalée sur la fiche-résumé]
OriginalL'auteur brettdj