Inledning: VBA-kod för att radera arbetsblad

Klassisk dialogruta när användaren manuellt raderar excelark.
Klassisk dialogruta när användaren manuellt raderar excelark.

Att radera arbetsblad i Excel är en vanlig uppgift, särskilt när man arbetar med tillfälliga dokument. I den här artikeln går vi igenom hur du använder makrokod i VBA (Visual Basic for Applications) för att radera ett specifikt arbetsblad på ett effektivt sätt. Kunskapen är värdefull för alla som vill automatisera sina Excel-uppgifter och arbeta mer produktivt.

Varför VBA för att radera arbetsblad?

VBA ger användare ett kraftfullt sätt att automatisera uppgifter i Excel. Istället för att radera varje blad manuellt kan du använda en enkel kodsnutt, vilket sparar tid och minskar risken för misstag. Att radera oönskade blad kan dessutom hjälpa dig att hålla arbetsboken organiserad och lättöverskådlig.

Hur fungerar koden?

Koden som vi kommer att använda loopar igenom alla arbetsblad i arbetsboken och söker efter det blad som ska raderas. När bladet hittas stängs Excels standardvarningar av, så att raderingen kan ske utan ytterligare bekräftelse. Det gör processen betydligt smidigare.

Exempel på VBA-kod för att radera ett arbetsblad

Följande kod letar efter arbetsbladet ”Temp” och raderar det om det finns i arbetsboken:

Sub RaderaVisstArk()
    
    ' Tar bort önskat ark
    Dim strArbetsBlad As String
    Dim strBladSomRaderas As String
    Dim i As Integer
    
    strBladSomRaderas = "Temp"
    
    For i = 1 To Sheets.Count
        Sheets(i).Activate
        strArbetsBlad = ActiveSheet.Name
        If strArbetsBlad = strBladSomRaderas Then
            Application.DisplayAlerts = False
            ActiveWindow.SelectedSheets.Delete
            Application.DisplayAlerts = True
            Exit For ' Avsluta loopen när bladet raderas
        End If
    Next

End Sub

Förklaring av koden

  1. Deklarera variabler: Vi börjar med att deklarera variablerna som används i koden. strArbetsBlad lagrar namnet på det aktiva bladet, medan strBladSomRaderas anger namnet på bladet som ska raderas.
  2. Loopa igenom arbetsboken: Koden loopar igenom alla blad i arbetsboken. For i = 1 To Sheets.Count gör att vi går igenom bladen ett efter ett.
  3. Aktivera bladet och kontrollera namnet: Vi aktiverar varje blad och kontrollerar om dess namn matchar det namn vi har definierat (i detta fall Temp).
  4. Radera bladet: Om bladet hittas stänger vi av varningar med Application.DisplayAlerts = False, raderar bladet och slår sedan på varningarna igen.
  5. Avsluta loopen: När bladet har raderats använder vi Exit For för att avsluta loopen. Det sparar tid, eftersom vi inte behöver fortsätta söka efter fler blad.

Avslutande tankar

Att kunna radera arbetsblad med hjälp av VBA är en praktisk färdighet för alla som arbetar med Excel. Genom att använda den presenterade koden kan du effektivisera ditt arbete och hålla ordning på dina dokument.

💡 Ytterligare läsning
Om du istället vill bli av med felaktiga externa referenser kan du läsa mer om hur man tar bort spöklänkar i Excel.