Название темы: Изменить способ поиска по столбцам.
Всем Добрый вечер, когда то давным давно, тут на форуме мне помогли с одним макросом:
Код
Dim shs As Object, rs As Range
Application.ScreenUpdating = False
For Each shs In Worksheets
With shs
Set rs = .Columns(4).Find("Итог")
If Not rs Is Nothing Then
.Columns(rs.Column).Resize(, 1).Copy .Range("Q1")
.Columns(rs.Column).Resize(, 1).Delete Shift:=xlToLeft
End If
End With
Next
Application.ScreenUpdating = True
По стечению разных обстоятельств, Set rs = .Columns(4).Find("Итог"), слово "Итог" теперь находится и в 4 и в 5 и иногда даже в 6 столбце. Как это можно исправить и какие есть варианты решения проблемы? Всем спасибо за помощь.
Так как это несколько листов, нужно что бы учитывались все возможные позиции. Если к примеру (раньше) это был четко 4 столбец, то теперь это значение стало "плавать" на всех страницах.
Юрий М написал: Нашли во всех трёх - что дальше делать?
Может есть просто возможность сделать поиск на всем листе? А не только в 4ом столбце? Так как "Итог" будет присутствовать только строго в одном столбце. В других его не будет.
Sub Macro1()
Dim Rng As Range
Set Rng = Union(Columns(4), Columns(5), Columns(6)).Find(what:="Итог", LookIn:=xlFormulas, LookAt:=xlWhole)
If Not Rng Is Nothing Then
MsgBox "Найдено в столбце " & Rng.Column
End If
End Sub