Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Процедура работает с активной книгой в которой находятся: лист с таблицей, содержащей строки для удаления, и лист с номерами для удаления

Код:
 
Public Sub KillNeedRow()
On Error GoTo errHandle
    Dim shSource As Worksheet, shNeed As Worksheet
    Dim rSource As Range, rNeed As Range
    Dim curNeed As Range, delRange As Range, pFind As Range
    Dim firstAddress As String
     
    Application.ScreenUpdating = False
    'лист, содержащий таблицу со строками для удаления
    Set shSource = ActiveWorkbook.Worksheets("Лист1")
    'лист, содержащий номера для удаления
    Set shNeed = ActiveWorkbook.Worksheets("Лист2")
     
    Set rSource = Application.Intersect(shSource.UsedRange, shSource.Columns("C"))
    Set rNeed = shNeed.UsedRange
     
    If rSource Is Nothing Then Exit Sub
    If rNeed Is Nothing Then Exit Sub
    For Each curNeed In rNeed
        Set pFind = rSource.Find(curNeed.Value, rSource.Cells(1), xlValues, XlLookAt.xlWhole)
        If Not pFind Is Nothing Then
            If delRange Is Nothing Then Set delRange = shSource.Rows(pFind.Row)
            firstAddress = pFind.Address
            Do
                Set pFind = rSource.FindNext(pFind)
                Set delRange = Application.Union(delRange, shSource.Rows(pFind.Row))
            Loop Until firstAddress = pFind.Address
        End If
    Next curNeed
    If Not delRange Is Nothing Then delRange.Delete XlDeleteShiftDirection.xlShiftUp
    Application.ScreenUpdating = True
Exit Sub
errHandle:
    Application.ScreenUpdating = True
    MsgBox Err.Description, vbOKOnly + vbExclamation, Err.Source
End Sub
 


Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 05:12 22-10-2010 | Исправлено: AndVGri, 05:28 22-10-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru