Как да изтрия всички четни редове в Еxcel?

1 одобрение 0 неодобрения
попитан 2017 юни 1 в Excel от Ian Gillan ученик (91 точки)
Здравейте,

Трябва ми помощ с Excel. Информацията, която трябва да обработя, се намира на нечетните редове в Ексел. Искам да изтрия всички четни редове, но това отнема много време. Има ли формула, с която да премахна всички четни редове наведнъж?

Благодаря предварително!

1 отговор

1 одобрение 0 неодобрения
отговорени 2017 юни 1 от vbafreak експерт (203 точки)

Здравей,

Следният код изтрива всички четни редове, които са селектирани от потребителя:


Sub DeleteEvenRows()   
    Dim rngRow As Range, rng2Del As Range
    For Each rngRow In Selection.Rows
         'In the next row, use "= 1" to delete odd numbered rows
         'or "= 0" to delete even numbered rows
   
        If rngRow.Row Mod 2 = 0 Then
            If rng2Del Is Nothing Then
                Set rng2Del = rngRow.EntireRow
            Else
                Set rng2Del = Union(rng2Del, rngRow.EntireRow)
            End If
        End If
    Next rngRow
    rng2Del.Delete Shift:=xlShiftUp
End Sub

Кодът трябва да се сложи във VBA едитора на Еxcel (alt + F11), Insert => Module.

За да пуснеш кода в Еxcel, трябва да си изкараш Developer таба (ако го няма сред менютата горе). Това става чрез File=>Options=>Customise ribbon=>Developer.

1 коментар

коментиран 2017 юни 4 от naskobk
За да се получи по ефикасно, предлагам да се добави този код в началото:

Sub DeleteEvenRows()
ActiveSheet.Range("b1", ActiveSheet.Range("b1").End(xlDown)).Select

ако ще триеме в колона В ако е друга колона, просто заменяме името на клоната в кавичките, така автоматично се селектира нужната колона още в самото начало на кода
в програмата.
Добре дошли в българския форум за Ексел и Майкрософт офис! Тук можете да питате хора със знания и опит, както и да споделите знанията и опита си с другите.
...