Una de les coses més molestes d'Excel és tancar molts llibres de treball alhora. Per a cada llibre de treball que hàgiu obert, heu d'activar el treball, tancar-lo i confirmar el desat dels canvis. Excel no té una manera fàcil de tancar-los tots alhora. Aquesta petita macro s'encarrega d'aquesta molèstia.
Com funciona la macro
En aquesta macro, la col·lecció Llibres de treball recorre tots els llibres de treball oberts. A mesura que la macro recorre cada llibre de treball, els desa i els tanca:
Sub macro1()
"Pas 1: declara les teves variables
Dim wb com a llibre de treball
"Pas 2: recorre els llibres de treball, desa i tanca
Per a cada wb als llibres de treball
wb.Close SaveChanges:=True
Següent wb
End Sub
El pas 1 declara una variable Object que representa un objecte Workbook. Això us permet enumerar tots els llibres de treball oberts, capturant els seus noms a mesura que aneu.
El pas 2 simplement fa un bucle pels llibres de treball oberts, desant-los i tancant-los. Si no els voleu desar, canvieu l'argument SaveChanges de True a False.
Com utilitzar la macro
El millor lloc per emmagatzemar aquesta macro és al vostre llibre de treball de macros personal. D'aquesta manera, la macro sempre està disponible per a vostè. El llibre de macros personal es carrega sempre que inicieu Excel. A la finestra del projecte VBE, s'anomena personal.xlsb.
Activeu Visual Basic Editor prement Alt+F11.
Feu clic amb el botó dret a personal.xlb a la finestra del projecte.
Seleccioneu Insereix → Mòdul.
Escriviu o enganxeu el codi al mòdul acabat de crear.
Si no veieu personal.xlb a la finestra del vostre projecte, és que encara no existeix. Haureu d'enregistrar una macro utilitzant el llibre de macros personal com a destinació.
Per gravar la macro al vostre llibre de treball de macros personal, obriu el quadre de diàleg Enregistrar macro. A la llista desplegable Store Macro In, seleccioneu Personal Macro Workbook. A continuació, simplement enregistreu uns quants clics a la cel·la i atureu la gravació. Podeu descartar la macro gravada i substituir-la per aquesta.