Excel-munkalap minden második sorának törlése

Összefoglalás

Ez a cikk egy Microsoft Visual Basic for Applications mintamakrót tartalmaz, amellyel egy Microsoft Excel-munkalap kijelölt tartományának minden második sorát törölheti.

További információ

A Microsoft csak szemléltetési célból ad közre programozási példákat, és azokra sem közvetlen, sem közvetett jótállást nem vállal. Ebbe beleértendő a forgalomba hozhatóságra és az adott célra való megfelelőségre vonatkozó jótállás is. A cikk feltételezi, hogy az olvasó jártas a szemléltetésre szolgáló programozási nyelvben, valamint az eljárások létrehozására és a velük kapcsolatos hibakeresésre szolgáló eszközök használatában. A Microsoft támogatási szakemberei segítséget nyújthatnak egy-egy adott eljárás funkcionalitásának megértésében, de funkcionalitásbővítési célból nem módosítják a példákat, és nem készítenek az egyéni igényeknek megfelelő eljárásokat. Az alábbi makró használatához állítson be egy Excel-munkafüzetet az alábbiak szerint:

  1. Hozzon létre egy új Microsoft Excel-munkafüzetet.

  2. Egy új munkalap A1:A9 tartományába írja be az 1 és 5 közötti számokat, kihagyva a sorokat, ahogyan az alábbi példában látható:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Mutasson az Eszközök menü Makró pontjára, majd kattintson a Visual Basic Editor lehetőségre.

    Megjegyzés A Microsoft Office Excel 2007-ben és újabb verzióiban kattintson a Visual Basic elemre a Fejlesztőeszközök lap Kód csoportjában.

  4. Kattintson a Beszúrás menü Modul elemére.

  5. Az új modulba írja be a következő makrót:

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áltson az adatokat tartalmazó munkalapra, majd válassza ki az A1:A9 tartományt.

  2. A makró futtatásához mutasson az Eszközök menü Makró pontjára, majd kattintson a Makrók elemre.

    Megjegyzés:

    • Az Excel 2007-ben és az újabb verziókban kattintson a Makrók elemre a Fejlesztőeszközök lap Kód csoportjában.
    • Ha meg szeretné jeleníteni a Fejlesztőeszközök lapot a menüszalagon, kattintson a Microsoft Office gombra, az Excel beállításai elemre, a Népszerű kategóriára, jelölje be a Fejlesztőeszközök lap megjelenítése a menüszalagon jelölőnégyzetet, majd kattintson az OK gombra.
  3. Jelölje ki a Delete_Every_Other_Row makrót, majd kattintson a Futtatás gombra.

Ez a makró minden második sort töröl, kezdve a kijelölés második sorával.

Megjegyzés:

Ha több oszlopot tartalmazó adatlistával rendelkezik, jelölje ki csak az első adatoszlopot, majd futtassa a makrót.