[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: 2012-02-14

Kalkylblad och Excel VBA

Flikar i kalkylprogrammet Excel.

När man håller på med makron som skapar rapporter och liknande i Excel så är det viktigt att man kan arbeta med kalkylbladsstrukturen via VBA-kod.

Följande kod-exempel visar hur du kan lägga till, ta bort, flytta och sortera kalkylark i en Excelbok.

VBA: Välja visst kalkylark

Sheets("MinRapport").Select

VBA: Välja det första (vänstersta) kalkylarket

Sheets(1).Select

VBA: Infoga ett nytt kalkylark (på vald position)

ActiveWorkbook.Sheets.Add Before:=Worksheets("MinRapport")

VBA: Kopierar ett kalkylark (placerar ute till höger)

Sheets("MinRapport").Copy After:=Worksheets(Worksheets.Count)

VBA: Kalkylbladsnamn (som variabel)

'tilldelar variabel aktuellt bladnamn
strBlad = ActiveWindow.Caption
Windows(strBlad).Activate 'aktiverar bladet

VBA: Flytta kalkylark

Worksheets("MinRapport2").Move After:=Worksheets("MinRapport1")

VBA: Sortera kalkylarken (alfabetisk ordning)

intAntalBlad = ActiveWorkbook.Worksheets.Count
For i = 1 To intAntalBlad
  For j = i To intAntalBlad
    If LCase(Worksheets(j).Name) < LCase(Worksheets(i).Name) Then
      Worksheets(j).Move Before:=Worksheets(i)
    End If
  Next j
Next i

VBA: Radera ett visst kalkylark (utan konfirmation)

Application.DisplayAlerts = False
 
For i = 1 To Sheets.Count
  Sheets(i).Activate
    strBlad = ActiveCell.Worksheet.Name
      If strBlad = "MinRapport" Then
        ActiveWindow.SelectedSheets.Delete
      End If
Next
 
Application.DisplayAlerts = True