Cacher une feuille de travail Excel avec VBA
j'ai une feuille de calcul Excel avec trois feuilles. L'une des feuilles contient des formules pour l'un des autres feuilles.
Existe-t-il un moyen programmatique pour masquer la feuille qui contient ces formules?
4 réponses
Pour masquer à partir de l'INTERFACE utilisateur, utilisez la commande Format > Feuille > Masquer
masquer par programmation, utilisez la Visible
propriété du Worksheet
objet. Si vous le faites de manière programmatique, vous pouvez définir la feuille comme "très cachée", ce qui signifie qu'elle ne peut pas être libérée par L'interface utilisateur.
ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden
' or xlSheetHidden or xlSheetVisible
vous pouvez également définir la propriété Visible à travers le volet Propriétés pour la feuille de travail dans le VBA IDE ( ALT+F11).
Vous pouvez le faire de manière programmatique en utilisant une macro VBA. Vous pouvez faire la feuille cachée ou très caché:
Sub HideSheet()
Dim sheet As Worksheet
Set sheet = ActiveSheet
' this hides the sheet but users will be able
' to unhide it using the Excel UI
sheet.Visible = xlSheetHidden
' this hides the sheet so that it can only be made visible using VBA
sheet.Visible = xlSheetVeryHidden
End Sub
je voulais juste ajouter un peu plus de détails aux réponses données. Vous pouvez également utiliser
sheet.Visible = False
pour masquer et
sheet.Visible = True
pour l'afficher.
ceci peut être fait en une seule ligne, aussi longtemps que la feuille de travail est active:
ActiveSheet.Visible = xlSheetHidden
cependant, vous pouvez ne pas vouloir le faire, surtout si vous utilisez des opérations "select" ou si vous utilisez D'autres opérations ActiveSheet.