Jak usunąć każdy inny wiersz w arkuszu programu Excel

Podsumowanie

Ten artykuł zawiera przykładowe makro Visual Basic for Applications firmy Microsoft, którego można użyć do usunięcia każdego innego wiersza w wybranym zakresie w arkuszu programu Microsoft Excel.

Więcej informacji

Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika. Aby użyć następującego makra, skonfiguruj skoroszyt programu Excel w następujący sposób:

  1. Utwórz nowy skoroszyt programu Microsoft Excel.

  2. W nowym arkuszu w zakresie A1:A9 wpisz liczby od 1 do 5, pomijając wiersze, jak w poniższym przykładzie:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Edytor Visual Basic.

    Uwaga W programie Microsoft Office Excel 2007 i nowszych wersjach kliknij pozycję Visual Basic w grupie Kod na karcie Deweloper .

  4. W menu Wstaw kliknij polecenie Moduł.

  5. W nowym module wpisz następujące 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. Przejdź do arkusza zawierającego dane, a następnie wybierz zakres A1:A9.

  2. Aby uruchomić makro, wskaż pozycję Makro w menu Narzędzia, a następnie kliknij pozycję Makra.

    Uwaga

    • W programie Excel 2007 i nowszych wersjach kliknij pozycję Makra w grupie Kod na karcie Deweloper .
    • Aby wyświetlić kartę Deweloper na Wstążce, kliknij przycisk Pakietu Microsoft Office, kliknij pozycję Opcje programu Excel, kliknij kategorię Popularne, kliknij, aby wybrać kartę Pokaż dewelopera na wstążce , a następnie kliknij przycisk OK.
  3. Wybierz makro Delete_Every_Other_Row , a następnie kliknij przycisk Uruchom.

To makro usunie co drugi wiersz, zaczynając od drugiego wiersza zaznaczenia.

Uwaga

Jeśli masz listę danych zawierającą wiele kolumn, wybierz tylko pierwszą kolumnę danych, a następnie uruchom makro.