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