Скопируйте и экспортируйте данные из поля «Найти и заменить» или окна поиска с помощью vba в excel

На самом деле у меня нет никаких конкретных данных, на которые можно было бы ссылаться, просто интересно, можно ли это сделать для экспорта данных в другую книгу (независимо от того, открыта она или закрыта), щелкнув выбранную строку в поле поиска из активной книги.

Допустим, данные, найденные в поле поиска активной книги, находятся в строке 7, а затем при нажатии на нее (в поле поиска) данные будут экспортированы в другую книгу. Не обязательно экспортировать все данные, возможно, они нужны в ячейке D7, F7 и K7 только для экспорта. И целевая рабочая книга будет заполнена экспортированными данными в B4 (D7), G8 (F7) и L9 (K7).

Можно ли это сделать с помощью кодов VBA? Может быть, нужно создать пользовательскую форму как поле «Найти и заменить»? Может быть, есть другой способ сделать это? Заранее большое спасибо, если вы примете этот вызов, и желаю вам удачи.

Почтовый индекс здесь:


person eltigre    schedule 21.11.2019    source источник


Ответы (2)


Да, это можно сделать с помощью VBA. Это может помочь вам начать.

Пример

В этом примере выполняется поиск всех ячеек в диапазоне A1:A500 на первом листе, содержащих значение 2, и изменение его на 5.

With Worksheets(1).Range("a1:a500") 
    Set c = .Find(2, lookin:=xlValues) 
    If Not c Is Nothing Then 
        firstAddress = c.Address 
        Do 
            c.Value = 5 
            Set c = .FindNext(c) 
        Loop While Not c Is Nothing
    End If 
End With

Исходный код и другие сведения см. здесь: https://docs.microsoft.com/en-us/office/vba/api/excel.range.find

person Daghan    schedule 21.11.2019
comment
Спасибо, Даган! Основываясь на коде, я уверен, что вы ответите, как найти значение. Основной вопрос - как экспортировать его в другую книгу, щелкнув строку. Есть идеи? - person eltigre; 22.11.2019
comment
Конечно, это возможно. Вы можете создать кнопку на своем рабочем листе, которая делает следующее. Выберите всю строку активной ячейки (ячейка активируется, когда вы найдете ее с помощью диалога поиска/замены), откройте рабочую книгу назначения или новую рабочую книгу. Установите целевой диапазон в целевой книге и установите targetrow.value=sourcerow.value. Вы можете погуглить каждый шаг и попытаться придумать какой-нибудь код. - person Daghan; 25.11.2019
comment
Экспортировать данные certian в целевые ячейки в другой книге? Если ты так сказал, то покажи мне код. - person eltigre; 29.11.2019
comment
Это довольно простой VBA. Этот форум не предназначен для того, чтобы мы писали ваш код, есть сотни учебников по учебникам, и не волнуйтесь, это довольно просто. Это одно из многих руководств - person Daghan; 29.11.2019
comment
Вы не получили здесь вопрос, не так ли, Даган? еще раз объясню.. - person eltigre; 02.12.2019
comment
копировать/экспортировать данные из Найти и заменить, щелкнув выбранную строку результатов в окне поиска.‹‹ Надеюсь, это предложение понятно, что я имел в виду. - person eltigre; 04.12.2019
comment
Как вы сами предложили, создайте пользовательскую форму, например поле поиска и замены. Невозможно редактировать функционал встроенного поиска и замены. чтобы ответить на ваш вопрос: Да, это возможно в VBA - person Daghan; 04.12.2019
comment
Как вы сами предложили, создайте пользовательскую форму, такую ​​​​как поле поиска и замены. ‹‹ уже сделал, и это работает, но я остановился на том, как экспортировать данные, щелкнув результат выбранной строки. - person eltigre; 04.12.2019
comment
Звучит хорошо eltigre :-) Отредактируйте свой пост и добавьте код, который у вас есть для экспорта прямо сейчас. Я предполагаю, что вы заполняете список результатами поиска? - person Daghan; 04.12.2019

person    schedule
comment
Я считаю, что начать с «С рабочими листами (sRESULTS)» нужно отредактировать, чтобы изменить результат. - person eltigre; 04.12.2019