Здравствуйте. Прошу подсказать: есть ли способ поиска текста в фигурах (прямоугольник, треугольник и т. п.)? Или функция "Найти и заменить" актуальна только для поиска текста в ячейках? Буду признателен за конструктивный совет.
Sub FindTextInShape()
Dim x As Object
For Each x In ActiveSheet.DrawingObjects
If x.Characters.Text = [A1] Then MsgBox "Текст найден в " & x.Name
Next
End Sub
Юрий М пишет: paylevan, а вот Вас - что заставляет писать через строку?
иногда это не вина пишущего: жмешь Enter а перескакивает через строку. Закономерности не выявил, но несколько раз замечал. Но читать так действительно неудобно. Я, чаще всего, такие посты пропускаю.
Юрий М, спасибо за ответ. Но пока не удалось с помощью приведённого Вами макроса осуществить поиск в фигурах искомого текста, указанного в ячейке А1. При выполнении макроса ничего не происходит. Возможно, нужны ещё какие-либо действия?
Юрий М, спасибо, получилось, но частично, ибо поиск осуществляется лишь в том случае, если точно и полностью указана вся фраза. Но необходимо, чтобы находились и отдельные слова, так, как это и реализовано в стандартной функции "Найти и заменить" для ячеек.
Юрий М, возможно сделать так, чтобы при поиске регистр букв не учитывался? На данный момент, если, к примеру, искомое слово в фигуре начинается с заглавной буквы, а в ячейке А1 оно указывается со строчной, то слово не находится.
Нет уверенности, что Вы ещё чего-нибудь не вспомните)) Варианты: 1. Написать перед Sub строку: Option Compare Text 2. Переводить в коде строки в одинаковый регистр, например, в верхний. См. справку по Ucase