Inhoudsopgave:
Video: What is Natural Selection? 2024
Soms wilt u alles behalve het actieve werkblad in een Excel-werkmap verwijderen. In deze situaties kunt u de volgende macro gebruiken.
Hoe de macro werkt
De macro loopt hier door de werkbladen en vergelijkt elke werkbladnaam met de naam van het actieve werkblad. Elke keer dat de macro lus, verwijdert het elk ongeëvenaard werkblad. Let op het gebruik van de eigenschap DisplayAlerts in stap 4. Hiermee worden Excel-waarschuwingen effectief uitgeschakeld, zodat u elke verwijdering niet hoeft te bevestigen.
Sub Macro1 () 'Stap 1: Declareer uw variabelen Dim ws As werkblad' Stap 2: Start lus door alle werkbladen voor elke ws in ThisWorkbook. Worksheets 'Stap 3: Controleer elke werkbladnaam Als ws. Geef dit werkboek een naam. ActiveSheet. Name Then 'Stap 4: Waarschuwingen uitschakelen en applicatie verwijderen. DisplayAlerts = False ws. Toepassing verwijderen. DisplayAlerts = True End If 'Stap 5: Loop naar volgend werkblad Volgende ws End Sub
De macro declareert eerst een object met de naam ws. Met deze stap wordt een geheugencontainer gemaakt voor elk werkblad waar het doorlinkt.
In stap 2 begint de macro te lus te geven, in Excel zal hij alle werkbladen in deze werkmap evalueren. Er is een verschil tussen ThisWorkbook en ActiveWorkbook. Het ThisWorkBook-object verwijst naar de werkmap die de code bevat. Het ActiveWorkBook-object verwijst naar de momenteel actieve werkmap. Ze retourneren vaak hetzelfde object, maar als de werkmap die de code uitvoert niet de actieve werkmap is, retourneren ze verschillende objecten. In dit geval wilt u niet het risico nemen om vellen in andere werkmappen te verwijderen, dus gebruikt u ThisWorkBook.
In stap 3 vergelijkt de macro eenvoudig de actieve bladnaam met het blad dat momenteel wordt gelust.
In stap 4 verwijdert de macro het blad als de bladnamen verschillen. Zoals vermeld, gebruikt u DisplayAlerts om eventuele bevestigingscontroles vanuit Excel te onderdrukken. Als u gewaarschuwd wilt worden voordat u de bladen verwijdert, kunt u de toepassing overslaan. DisplayAlerts = False. Als u de instructie DisplayAlerts weglaat, zorgt u ervoor dat het bericht wordt weergegeven, zodat u de beslissing om werkbladen te verwijderen kunt negeren.
In stap 5 loopt de macro terug om het volgende blad te krijgen. Nadat alle vellen zijn geëvalueerd, wordt de macro beëindigd.
De instructie Display-Alerts negeren om waarschuwingsberichten weer te geven.De macro
gebruiken Om deze macro te implementeren, kunt u deze kopiëren en in een standaardmodule plakken:
-
Visual Basic-editor activeren door op Alt + F11 te drukken.
-
Klik met de rechtermuisknop op de naam van het project / de werkmap in het projectvenster.
-
Kies Invoegen → Module.
-
Typ of plak de code in de zojuist gemaakte module.
Wanneer u ThisWorkbook gebruikt in plaats van ActiveWorkbook in een macro, kunt u de macro niet uitvoeren vanuit de persoonlijke macrowerkmap. Waarom? Omdat ThisWorkbook verwijst naar de persoonlijke macrowerkmap, niet naar de werkmap waarop de macro moet worden toegepast.