Есть огромная таблица и в ней есть колонка с одной, двумя и тремя звездочками. Надо оставить строки только с одной звездочкой.
Удаление строк по условию
07.04.2011 14:05:56
|
|
|
|
07.04.2011 14:10:32
поиск не работает? примера нету?
for each r in usedrange.cells.entirerow if r.cells(1,1).value="*" then r.delete shift:=xlup next |
|
|
|
07.04.2011 14:12:48
for each r in usedrange.cells.entirerow
if r.cells(1,1).value<>"*" then r.delete shift:=xlup next |
|
|
|
07.04.2011 14:19:16
Сюда ещё загляните:
|
|
|
|
07.04.2011 14:21:55
Я макрос на 2000 писал...
Т.е. проверил :) |
|
|
|
07.04.2011 14:59:11
Товарищи, ну ведь ничего не получается. Помогайте!
|
|
|
|
07.04.2011 16:10:44
Тогда так - алгоритм из
58000+ строк */1 прошерстил за 104.6289 сек. Sub Main() Dim t As Single, i&, c$, a$, b Application.ScreenUpdating = False 't = Timer b = Range([C1], Range("C" & Rows.Count).End(IIf(Len(Range("A" & Rows.Count)), xlDown, xlUp))).Value For i = UBound(b) To 1 Step -1 If b(i, 1) <> "*" Then a = i & ":" & i & "," If Len(c & a) > 255 Then Application.StatusBar = "Delete Range From " & i Range(Left(c, Len© - 1)).Delete: c = a Else c = c & a End If End If Next Range(Left(c, Len© - 1)).Delete Application.StatusBar = False Application.ScreenUpdating = True 'Debug.Print Timer - t End Sub |
|
|
|
07.04.2011 16:12:26
Да, забыл - */1 в колонке C.
|
||||
|
|
|||
Читают тему