Знайдіть текст у текстовому полі в Excel


2

Я зрозумів, що діалогове вікно Excel "Знайти та замінити" не могло знайти текст у текстових полях. Я думаю, що мені потрібен макрос для вирішення цього питання.

Як я можу знайти текст у текстових полях:

  1. в активному аркуші
  2. у всіх аркушах

Дякую.

Ось зразкове зображення, щоб показати, що я маю на увазі під текстовим полем: Зображення текстового поля в Excel

Відповіді:


0

Припустимо, що ви використовуєте лише текстові поля (та жодні інші об’єкти), цей код повинен працювати для вас (я не пробував його в Excel 2016):

Sub Search()
    Dim shaShape As Shape
    For Each shaShape In ActiveSheet.Shapes
        If shaShape.DrawingObject.Text Like "*all*" Then  '<== specify you're search term
            shaShape.Select
            Exit For
        End If
    Next shaShape
End Sub

Це працює, але з деякими питаннями. Він буде розміщений лише до першого матчу. Що робити, якщо я хочу продовжувати пошук, щоб побачити, чи є інші збіги? Дякую.
мастертон

Що ви маєте на увазі? у вас є приклад?
Альбін

Як і функція "Знайти" у програмі excel, вона перейде до наступного матчу, якщо натискаю "Знайти наступний". Однак сценарій не має такої функції. Скажімо, у всіх робочих аркушах є 10 текстових полів, 3 з них містять слово "всі". Сценарій йде лише до першого матчу. Немає способу "знайти наступного" і йде на інші матчі. Я сподіваюся, що це зараз зрозуміло. Дякую.
Мастертон

@masterton Вам доведеться змінити код, скільки ви знаєте про VBA?
Альбін

Поруч нічого. Я не знаю, як кодувати. Іноді я просто здогадуюсь, що макрос намагається зробити, і трішки підкручується методом проб і помилок.
мастертон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.