Макрос на удаление строк по условию!где ошибка?

Автор troyam, 22.03.2012, 11:05

« назад - далее »

troyam

Уважаемые,помогите найти ошибку в макросе.

Sub Макрос1()
Dim iRange As Range
Dim TextToFindArray As Variant
Dim i As Long

TextToFindArray = Array("буаблеба")
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
For i = 0 To 1
With ActiveSheet.Cells
Set iRange = .Find(What:=TextToFindArray(i), LookIn:=xlFormulas, LookAt:=xlPart)
If Not iRange Is Nothing Then
Do
iRange.EntireRow.Delete
Set iRange = .Find(What:=TextToFindArray(i), LookIn:=xlFormulas, LookAt:=xlPart)
Loop While Not iRange Is Nothing
End If
End With
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
MsgBox "Строки с текстом " & TextToFindArray(0) & " и " & TextToFindArray(1) & " удалены!", 64, "Конец"
End Sub

в таблице для заполнения ячеек используется формула если содержащая в себе слово буаблеба,а потому макрос сносит все строки,независимо от того что в них написано.как нужно исправить макрос чтобы он реагировал на это слово не в формуле а в содержании ячейки.упрощенный пример если(A1="столярная плита";B1;"буаблеба") и если условие выполняется а в ячейку копируется содержание Б1 то макрос все равно сносит эту строку(

kuklp

Ну так надо же и указать, где искать. Вместо:
LookIn:=xlFormulas
напишите
LookIn:=xlvalues
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771