Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 10:37   #1
Sharrik
Пользователь
 
Регистрация: 25.02.2009
Сообщений: 19
По умолчанию Строка для макроса

Здравствуйте! Не смог найти поиском, поэтому буду клянчить!
Нужна строчка для макроса:
если в столбце А есть значение (в примере "12"), то удалить всю строку, которая это содержит.
Вложения
Тип файла: rar Book2.rar (5.1 Кб, 11 просмотров)
Sharrik вне форума Ответить с цитированием
Старый 29.09.2010, 10:57   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
  Sub Killer()
Dim n As Long, m As Long
With Sheets("Sheet1")
m = .Range(("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)).Rows.Count
For n = m To 1 Step -1
If .Cells(n, 1) = 12 Then .Rows(n).Delete
Next
End With
End Sub
или
Код:
 Sub Killer2()
Dim  n As Long, m As Long, t
With Sheets("Sheet1")
t = .Range(("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row))
For n = UBound(t) To 1 Step -1
If t(n, 1) = 12 Then .Rows(n).Delete
Next
End With
End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 29.09.2010 в 11:05.
doober вне форума Ответить с цитированием
Старый 29.09.2010, 11:40   #3
Sharrik
Пользователь
 
Регистрация: 25.02.2009
Сообщений: 19
По умолчанию

Благодарю! =)
Sharrik вне форума Ответить с цитированием
Старый 30.09.2010, 07:37   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Предложу еще вариант. Можно обойтись без всяких циклов:
Код:
Sub Killer3()
    Dim x As Range: Application.ScreenUpdating = False
    Set x = [A:A].Find(12, , , xlWhole)
    If Not x Is Nothing Then
        [A:A].ColumnDifferences(x).EntireRow.Hidden = True
        [A:A].SpecialCells(xlCellTypeVisible).EntireRow.Delete: Rows.Hidden = False
    End If
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строчка для макроса Sharrik Microsoft Office Excel 2 30.04.2010 16:23
Условие для макроса Sidorow2001 Microsoft Office Access 0 25.01.2010 15:10
код для макроса oboevrulon Microsoft Office Excel 7 10.06.2009 10:39
Условие для макроса sergiksergik Microsoft Office Excel 8 23.05.2009 20:54