De vegades, és possible que vulgueu suprimir tot excepte el full de treball actiu d'un llibre d'Excel. En aquestes situacions, podeu utilitzar la macro següent.
Com funciona la macro
La macro aquí recorre els fulls de treball, fent coincidir cada nom de full de treball amb el nom del full actiu. Cada vegada que la macro fa un bucle, s'elimina qualsevol full de treball no coincident. Tingueu en compte l'ús de la propietat DisplayAlerts al pas 4. Això desactiva efectivament els avisos d'Excel perquè no hàgiu de confirmar cada supressió.
Sub macro1()
"Pas 1: declara les teves variables
Dim ws com a full de treball
"Pas 2: comenceu a repassar tots els fulls de treball
Per a cada ws En aquest llibre de treball.Fulls de treball
"Pas 3: comproveu el nom de cada full de treball
Si ws.Name <> ThisWorkbook.ActiveSheet.Name Aleshores
"Pas 4: desactiveu els avisos i suprimiu-los
Application.DisplayAlerts = Fals
ws.Suprimeix
Application.DisplayAlerts = Veritable
Acaba si
"Pas 5: aneu al següent full de treball
Següent ws
End Sub
La macro declara primer un objecte anomenat ws. Aquest pas crea un contenidor de memòria per a cada full de treball que passa.
Al pas 2, la macro comença a fer un bucle, dient a Excel que avaluarà tots els fulls de treball d'aquest llibre. Hi ha una diferència entre ThisWorkbook i ActiveWorkbook. L'objecte ThisWorkBook fa referència al llibre de treball que conté el codi. L'objecte ActiveWorkBook fa referència al llibre de treball actiu actualment. Sovint retornen el mateix objecte, però si el llibre de treball que executa el codi no és el llibre de treball actiu, tornen objectes diferents. En aquest cas, no voleu arriscar-vos a suprimir fulls d'altres llibres de treball, de manera que feu servir ThisWorkBook.
Al pas 3, la macro simplement compara el nom del full actiu amb el full que s'està reproduint en bucle.
Al pas 4, si els noms dels fulls són diferents, la macro suprimeix el full. Com s'ha esmentat, feu servir DisplayAlerts per suprimir qualsevol comprovació de confirmació d'Excel. Si voleu ser avisat abans d'eliminar els fulls, podeu ometre l'aplicació. DisplayAlerts = Fals. Si ometeu la declaració DisplayAlerts, us garantirà que rebeu el missatge que us mostrarà, cosa que us permetrà retirar-vos de la decisió d'eliminar fulls de treball.
Al pas 5, la macro torna a fer un bucle per obtenir el següent full. Després d'avaluar tots els fulls, la macro acaba.

Omet la instrucció DisplayAlerts per veure missatges d'advertència.
Com utilitzar la macro
Per implementar aquesta macro, podeu copiar-la i enganxar-la en un mòdul estàndard:
Activeu Visual Basic Editor prement Alt+F11.
Feu clic amb el botó dret al nom del projecte/llibre de treball a la finestra del projecte.
Seleccioneu Insereix → Mòdul.
Escriviu o enganxeu el codi al mòdul acabat de crear.
Quan utilitzeu ThisWorkbook en lloc d'ActiveWorkbook en una macro, no podeu executar la macro des del llibre de treball de macro personal. Per què? Com que ThisWorkbook es referiria al llibre de treball de macro personal, no al llibre de treball al qual s'hauria d'aplicar la macro.