Considérez une situation dans laquelle vous devez masquer et afficher plusieurs feuilles à la fois. Si quelqu’un se cache et affiche manuellement, cela prendra beaucoup de temps.

Dans cet article, vous apprendrez comment masquer ou afficher dynamiquement plusieurs onglets à l’aide du code VBA.

Q): Je veux une macro qui masquera ou affichera plusieurs onglets à un moment donné.

Voici un aperçu de la feuille Sheet1 dans laquelle il y aura deux listes dynamiques, c’est-à-dire Cacher les onglets et afficher les onglets

img1

  • L’idée est que lorsque nous cliquons sur le bouton Masquer ou Afficher, les feuilles répertoriées devraient être masquées ou affichées. Nous devons suivre les étapes ci-dessous:

Pour obtenir le résultat, nous devons lancer l’éditeur VB Cliquez sur l’onglet Développeur * Dans le groupe Code, sélectionnez Visual Basic

img2

  • Cliquez sur Insérer puis Module

img3

Cela créera un nouveau module.

Entrez le code suivant dans le module Sub HideTabs () Dim TabNo As DoubleDim LastTab As Double LastTab = Range (« Hide_TabsDNR »). Count On Error Resume Next For TabNo = 2 To LastTab Sheets (Range (« Hide_TabsDNR ») (TabNo)) .Visible = False Next TabNo On Error GoTo 0 Sheets (1) .Select End Sub

===

Sub UnHideTabs ()

Dim TabNo As Double

Dim LastTab As Double

LastTab = Range (« Hide_TabsDNR »). Count

Sur erreur Reprendre suivant

For TabNo = 2 To LastTab

Feuilles (Range (« UnHide_TabsDNR ») (TabNo)). Visible = True

TabNo suivant

Sur erreur GoTo 0

Feuilles (1) .Sélectionnez

End Sub

img4

  • Nous sommes tous prêts à exécuter la macro, si nous cliquons sur le bouton Masquer, toutes les feuilles répertoriées seront masquées, reportez-vous ci-dessous à l’instantané

img5

  • De la même manière, si nous cliquons sur le bouton Afficher, toutes les feuilles masquées mentionnées dans la colonne D seront affichées.

De cette façon, nous pouvons masquer ou afficher dynamiquement plusieurs onglets à la fois.