Închideți toate cărțile deschise Excel, macro-uri pentru excel

Aceste macrocomenzi vă ajută să închideți toate fișierele Excel deschise, lăsând doar fișierul curent.

Alegeți oricare dintre ele - acestea nu sunt foarte diferite.

Primul lăsă numai cartea activă deschisă, indiferent de fișierul din care rulează această macrocomandă:







Cea de-a doua macrocomandă nu lasă decât cartea din care rulează aceeași macrocomandă, indiferent de ce carte este activă în momentul lansării:

Cea de-a treia versiune a macrocomandei diferă de cea de-a doua doar prin faptul că toate fișierele sunt închise în timp ce salvează modificările:
(prima macro în acest caz produce o casetă de dialog - salvați fișierul sau nu)

Ei bine, a patra opțiune - de asemenea, închide toate fișierele deschise, doar modificările în aceste fișiere nu sunt salvate:






Timon, ți-am spus că e în regulă cu această macrocomandă.
Nu pot exista erori în el dacă nu scrieți nici un cod de lângă această macrocomandă care va intra în conflict cu aceasta.

Fie că este posibil să nu primești nume de cărți deschise și nume de fișiere deschise Excel

și care, în opinia dvs., este cartea diferită de fișier?
dacă ceva este deschis în Excel, atunci acesta este obiectul din registru de lucru (registru de lucru Excel)

Aplicați la forumurile Excel, atașați fișierul acolo - atunci vi se va cere ce este problema.
În această macrocomandă, nu există erori.

S-a schimbat și, din nou, se produce o nepotrivire de tip eroare cu indicația că wb = nimic. În general, obiectivul este acela că atunci când executați un anumit fișier Excel, toate fișierele deschise trebuie închise și salvate dacă modificările nu sunt salvate. Poate că trebuie să puneți codul pe buton, dacă nu funcționează când deschideți cartea?

cu codul care e în regulă (am verificat eu, funcționează)
Pot să recomand doar să înlocuiți ActiveWorkbook pe ThisWorkbook

Puteți încerca o altă schimbare







Trimiteți-le prietenilor: