Start » VBA-exempel för Excel | Effektiva lösningar på konkreta problem » Kalkylbladsstruktur » Kalkylblad och Excel VBA

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




6 kommentarer till “Kalkylblad och Excel VBA”

  1. Pontus Föll

    Denna stämmer väl inte:

    “VBA: Infoga ett nytt kalkylark (längst till vänster)

    Sheets(“MinRapport”).Copy After:=Worksheets(Worksheets.Count)”

    Den kopierar ett befintligt kalkylblad och lägger det längst till höger. Väl?

    Tack för en bra sida!

  2. Excelkungen

    Hej Pontus,

    Du har så rätt så. Tack för informationen, jag har ändrat i texten ovan.

    /anders

  3. Patrik

    Hej,

    Jag vet inte vart jag ska vända mig.
    Om man har väldigt många kalkyblad blir det ju svårt att ha en bra överblick över dem.

    Jag undrar om man istället kan ha dem på två rader, jag tycker mig minnas att jag sett det!? Hur gör jag?

  4. Excelkungen

    Hej Patrik,

    Jag har tyvärr aldrig hört talas om att man kan få två rader med flikar.

    /Anders

  5. Sven

    Hej Patrik.
    En ful lösning skulle kunna vara att du öppnar 2 fönster av samma arbetsbok. Då skulle man kunna visa första flikarna på första fönstret och sista flikarna på sista fönstret.Om man gör första fönstret mindre så kan man se alla flikarna åtminstone när första fönstret är aktivt.

  6. Pelle Marklund

    jag vill göra en lista i "blad 2" och referera till infot i blad ett

Lämna en kommentar