Rensa celler med makro (VBA) i Excel

I dagens makrotips skall vi titta på hur vi kan rensa ett formulär automatiskt med hjälp av ett makro. Mer precist ska vi rensa celler med makro. Vi utgår från ett formulär där vi skall skriva in det ledande laget i en serie. För det ledande laget skall anges hemmaarena och antal satta och insläppta mål.

Om ett nytt lag blir ledande lag så är uppgifterna om hemmaarena, antal matcher och mål något som måste bytas ut. Av det skälet vill vi fånga att innehållet i cellen C3 har ändrats.

Här kan du ladda ner Excelfilen

Vi rekommenderar dessa Excelkurser:
www.infocell.se – lärarledda kvalitetskurser i Excel
www.officekurs.se – oslagbar e-Learning i Excel & Office-paketet

Worksheet och Change i kodfönstret

Detta gör vi genom att öppna kodfönstret med ALT + F11. Vi dubbelklickar sedan på Blad1 i projektfönstret, som visas till vänster i bilden nedan. Vi får då se koden för arket till höger i bilden nedan, men det står inget eller kanske bara ”Option Explicit”. Vi måste därför ange vilken händelse vi vill bevaka med kod. Det gör vi genom att i rullgardinen i mitten av bilden välja Worksheet”. Därefter väljer vi händelse Change i rullgardinen till höger.

Excel har nu skapat två så kallade metoder för arket. Vi suddar bort den ena så att vi bara har det kvar som visas i bilden ovan.

Nu är det dags att skriva kod, men eftersom vi bevakar förändringar av arket och eftersom vi själva vill göra förändringar så skulle vi kunna hamna i en evig cirkel som gör att koden upprepar sig själv om och om igen. Därför lägger vi först in en bevakning att det bara är cellen C3 vi vill göra kod för:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Row = 3 And Target.Column = 3 Then

 

End If

End Sub

Det är alltså bara vid förändring av rad 3 och kolumn 3 som vi vill göra något. Det vi vill göra är att radera innehållet i cellerna C4 – C7. Detta kan skrivas:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Row = 3 And Target.Column = 3 Then

Blad1.Cells(4, 3) = ””

Blad1.Cells(5, 3) = ””

Blad1.Cells(6, 3) = ””

Blad1.Cells(7, 3) = ””

End If

End Sub

Koden granskar nu varje gång vi ändrar något i arket. Om ändringen skett i C3 så rensas cellerna C4:C7.

OBS! Glöm inte spara filen som en .xlsm-fil, dvs makroaktiverad fil, annars förlorar du din kod. Lycka till med att rensa celler med makro 🙂

Fler VBA-tips hittar du här

Kolla även in vår tvådagarskurs Excel VBA & makro i Stockholm City

Du gillar kanske också...

Börja prenumerera på Excelbrevet

Ta del av tips & tricks i Excel och Office en gång i månaden helt kostnadsfritt.

Grattis du kommer nu att få Excelbrevet varje månad helt gratis!