Понекад ћете можда желети да избришете све осим активног радног листа у Екцел радној свесци. У овим ситуацијама можете користити следећи макро.
Како функционише макро
Макро овде пролази кроз радне листове, усклађујући сваки назив радног листа са именом активног листа. Сваки пут када се макро понови, он брише сваки радни лист без пара. Обратите пажњу на употребу својства ДисплаиАлертс у кораку 4. Ово ефективно искључује упозорења Екцел-а тако да не морате да потврђујете свако брисање.
Подмакро1()
'Корак 1: Декларисајте своје променљиве
Дим вс Ас Ворксхеет
„Корак 2: Почните да петљате кроз све радне листове
За сваки вс Ин ТхисВоркбоок.Ворксхеетс
„Корак 3: Проверите назив сваког радног листа
Ако вс.Наме <> ТхисВоркбоок.АцтивеСхеет.Наме Тхен
'Корак 4: Искључите упозорења и избришите
Апплицатион.ДисплаиАлертс = Фалсе
вс.Делете
Апплицатион.ДисплаиАлертс = Тачно
Крај Ако
„Корак 5: Пређите на следећи радни лист
Нект вс
Енд Суб
Макро прво декларише објекат који се зове вс. Овај корак креира меморијски контејнер за сваки радни лист кроз који пролази.
У кораку 2, макро почиње да се врти, говорећи Екцел-у да ће проценити све радне листове у овој радној свесци. Постоји разлика између ТхисВоркбоок-а и АцтивеВоркбоок-а. Објекат ТхисВоркБоок се односи на радну свеску која садржи код. Објект АцтивеВоркБоок се односи на тренутно активну радну свеску. Често враћају исти објекат, али ако радна свеска која покреће код није активна радна свеска, враћају различите објекте. У овом случају, не желите да ризикујете брисање листова у другим радним свескама, па користите ТхисВоркБоок.
У кораку 3, макро једноставно упоређује име активног листа са листом који се тренутно налази у петљи.
У кораку 4, ако су имена листова различита, макро брише лист. Као што је поменуто, користите ДисплаиАлертс да бисте сузбили све провере потврде из Екцел-а. Ако желите да будете упозорени пре брисања листова, можете изоставити апликацију. ДисплаиАлертс = Фалсе. Изостављање изјаве ДисплаиАлертс ће осигурати да добијете приказану поруку, што ће вам омогућити да одустанете од одлуке да избришете радне листове.
У кораку 5, макро се враћа у петљу да би добио следећи лист. Након што се процене сви листови, макро се завршава.

Изоставите исказ ДисплаиАлертс да бисте видели поруке упозорења.
Како користити макро
Да бисте имплементирали овај макро, можете га копирати и налепити у стандардни модул:
Активирајте Висуал Басиц Едитор притиском на Алт+Ф11.
Кликните десним тастером миша на име пројекта/радне свеске у прозору пројекта.
Изаберите Инсерт→Модуле.
Откуцајте или налепите код у новокреирани модул.
Када користите ТхисВоркбоок уместо АцтивеВоркбоок у макроу, не можете да покренете макро из личне радне свеске макроа. Зашто? Зато што би се ова радна свеска односила на личну радну свеску макроа, а не на радну свеску на коју би макро требало да се примењује.