Jak odstranit každý druhý řádek na listu aplikace Excel

Souhrn

Tento článek obsahuje ukázkové makro jazyka Microsoft Visual Basic for Applications, které můžete použít k odstranění všech ostatních řádků ve vybrané oblasti na listu aplikace Microsoft Excel.

Další informace

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele. Pokud chcete použít následující makro, nastavte excelový sešit následujícím způsobem:

  1. Vytvořte nový sešit aplikace Microsoft Excel.

  2. V novém listu zadejte v oblasti A1:A9 čísla 1 až 5 a přeskočí se řádky, jako v následujícím příkladu:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. V nabídce Nástroje přejděte na Makro a poté klikněte Visual Basic Editor.

    Poznámka V aplikaci Microsoft Office Excel 2007 a novějších verzích klikněte na položku Visual Basic ve skupině Kód na kartě Vývojář .

  4. V nabídce Vložit, klikněte na Modul.

  5. V novém modulu zadejte následující 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. Přepněte na list, který obsahuje data, a vyberte oblast A1:A9.

  2. Makro spustíte tak, že v nabídce Nástroje přejdete na Makro a potom kliknete na Makra.

    Poznámka

    • V aplikaci Excel 2007 a novějších verzích klikněte na položku Makra ve skupině Kód na kartě Vývojář .
    • Pokud chcete na pásu karet zobrazit kartu Vývojář , klikněte na tlačítko Microsoft Office, klikněte na Možnosti aplikace Excel, klikněte na kategorii Oblíbené, zaškrtněte políčko Zobrazit na pásu karet kartu Vývojář a potom klikněte na OK.
  3. Vyberte makro Delete_Every_Other_Row a klikněte na Spustit.

Toto makro odstraní každý druhý řádek počínaje druhým řádkem výběru.

Poznámka

Pokud máte seznam dat, který obsahuje více sloupců, vyberte pouze první sloupec dat a spusťte makro.