[easy_youtube_gallery id=uMK0prafzw0,8Uee_mcxvrw,HcXNPI-IPPM,JvMXVHVr72A,AIXUgtNC4Kc,K8nrF5aXPlQ,cegdR0GiJl4,L-wpS49KN00,KbW9JqM7vho ar=16_9 cols=3 thumbnail=hqdefault controls=0 playsinline=1 privacy=1 title=top wall=1 class=mySuperClass]
Först publicerad: 2009-05-19

Excelmakro som raderar kalkylblad

Ett mycket enkelt litet makro som tar bort valt/valda arbetsblad.

Sub RaderaAktivtKalkylblad()
  ActiveWindow.SelectedSheets.Delete
End Sub

delete-sheetKörningen av detta makro kommer att generera en varningsruta som kräver att användaren konfirmerar raderingen innan den utförs. Detta är givetvis en säkerhetsspärr som skaparna av Excel har lagt in i programmet och som i vissa fall fyller sin funktion att förhindra oönskade raderingar.

Men om vi känner oss säkra på vår sak så kan vi ta bort spärren och förhindra att varningsfönstret visas.

Det är en så kallade egenskap i Excelboken som heter DisplayAlerts som vi genom makrot temporärt kan stänga av.

Application.DisplayAlerts = False

Viktigt i sammanhanget är att vi efter utförd radering aktiverar funktionen igen. I annat fall fortsätter varningsfunktionen att vara avstängd vilket kan vara riskfyllt.

Nedanstående makrokod raderar markerade Excelblad utan att fråga användaren om lov.

Sub RaderaAktivtKalkylblad()
 Application.DisplayAlerts = False
  ActiveWindow.SelectedSheets.Delete
 Application.DisplayAlerts = True
End Sub

Som du kan se i koden ovan så ställer vi tillbaka DisplayAlerts i aktivt läge så fort kalkylbladet är raderat.