Denna handledning lär dig hur du tar bort eller rensar ett kalkylblad med VBA.
Ta bort kalkylblad
Använd kommandot delete för att radera ett kalkylblad.
Ta bort kalkylblad efter namn
1 | Ark ("Ark1"). Radera |
Ta bort kalkylblad efter indexnummer
Denna kod tar bort det första kalkylbladet i arbetsboken:
1 | Ark (1) .Radera |
Denna kod raderar det sista kalkylbladet i arbetsboken:
1 | Ark (Sheets.Count) .Radera |
Ta bort kalkylblad utan prompt
När du försöker ta bort ett kalkylblad ber Excel dig att bekräfta din åtgärd:
Du kan inaktivera dessa uppmaningar (varningar) genom att växla DisplayAlerts:
123 | Application.DisplayAlerts = FalsktArk ("Ark1"). RaderaApplication.DisplayAlerts = True |
Ta bort blad om det finns
Om du försöker ta bort ett kalkylblad som inte finns genererar VBA ett fel. Med On Error Resume Next kan du be VBA att ta bort ett ark om det finns, annars hoppa till nästa kodrad:
123 | Vid fel Återuppta nästaArk ("Ark1"). RaderaVid fel GoTo 0 |
Du kan också använda vår RangeExists -funktion för att kontrollera om ett ark finns och ta bort det i så fall:
123 | Om RangeExists ("Sheet1") DåArk ("Ark1"). RaderaAvsluta om |
Tydligt ark
Denna kod rensar ett helt innehållsinnehåll, format och allt annat:
1 | Ark ("Sheet1"). Cells.Clear |
Tydligt arkinnehåll
Den här koden rensar hela innehållet. Det kommer att lämna formatering, kommentarer och allt annat ensam:
1 | Sheets ("Sheet1"). Cells.ClearContents |
Tydligt ark UsedRange
Ovanstående exempel rensar ALLA celler i ett kalkylblad. Detta kan vara mycket tidskrävande i stora ark. Om du använder UsedRange istället rensar VBA bara de "använda" cellerna som innehåller värden, format etc.
1 | Sheets ("Sheet1"). UsedRange.Clear |