Så här tar du bort varannan rad i ett Excel-kalkylblad

Sammanfattning

Den här artikeln innehåller ett exempel på ett Microsoft Visual Basic for Applications-makro som du kan använda för att ta bort varannan rad i ett markerat intervall i ett Microsoft Excel-kalkylblad.

Mer information

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov. Om du vill använda följande makro konfigurerar du en Excel-arbetsbok på följande sätt:

  1. Skapa en ny Microsoft Excel-arbetsbok.

  2. I ett nytt kalkylblad, i intervallet A1:A9, skriver du siffrorna 1 till 5 och hoppar över rader, som i följande exempel:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Peka på Makro på Verktyg-menyn och klicka sedan på Visual Basic Editor.

    Observera I Microsoft Office Excel 2007 och senare versioner klickar du på Visual Basic i gruppen Kod på fliken Utvecklare .

  4. Klicka på Modul på Infoga-menyn.

  5. I den nya modulen skriver du följande makro:

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Växla till kalkylbladet som innehåller data och välj sedan intervallet A1:A9.

  2. Om du vill köra makrot pekar du på Makro på verktygsmenyn och klickar sedan på Makron.

    Obs!

    • I Excel 2007 och senare versioner klickar du på Makron i gruppen Kod på fliken Utvecklare .
    • Om du vill visa fliken Utvecklare i menyfliksområdet klickar du på Microsoft Office-knappen, klickar på Excel-alternativ, klickar på kategorin Populär, väljer fliken Visa utvecklare i menyfliksområdet och klickar sedan på OK.
  3. Välj Delete_Every_Other_Row makro och klicka sedan på Kör.

Det här makrot tar bort varannan rad, från och med den andra raden i markeringen.

Obs!

Om du har en lista med data som innehåller flera kolumner markerar du bara den första datakolumnen och kör sedan makrot.