Excel VBA для выбора ячеек, которые содержат определенную текстовую строку в одной книге, а затем скопировать и вставить эти ячейки в новую книгу

У меня есть большой набор данных, содержащихся в одном столбце в электронной таблице Excel. Я пытался разработать способ автоматизации метода для выбора определенных данных из этого столбца в одной книге и вставить его в столбец в новой книге.

Например, у меня есть список имен в столбце. Я хотел выбрать любые ячейки, содержащие текст «Имя:», а затем скопировать и вставить эти ячейки в столбец в другой книге.

Я могу сделать это вручную, используя инструмент «Найти все» в Excel, выбрав ячейки с помощью «Найти что:», а затем с помощью Ctrl + A выберите все найденные элементы, затем закройте инструмент «Найти все» и с помощью Ctrl + C, чтобы скопировать все ячейки, перейдя к следующей книге, а затем с помощью Ctrl + V, чтобы вставить эти ячейки. Однако мне нужно сделать этот процесс довольно много раз, и, к сожалению, Macro-рекордер не записывает никаких запросов / процессов, выполняемых в инструменте «Найти все».

Я предполагаю, что мне нужен код VBA, но не удалось найти что-либо подходящее на веб-форумах.

Это всего лишь образец, чтобы вы начали:

Sub Luxation() Dim K As Long, r As Range, v As Variant K = 1 Dim w1 As Workbook, w2 As Workbook Set w1 = ThisWorkbook Set w2 = Workbooks.Add w1.Activate For Each r In Intersect(Range("A:A"), ActiveSheet.UsedRange) v = r.Value If InStr(v, "First name") > 0 Then r.Copy w2.Sheets("Sheet1").Cells(K, 1) K = K + 1 End If Next r End Sub 

Код открывает новую рабочую книгу, возвращается к исходной книге, пробегает столбец A , а затем копирует соответствующие ячейки в новую книгу.

EDIT # 1

Вот новый макрос:

 Sub Luxation2() Dim K As Long, r As Range, v As Variant K = 1 Dim w1 As Worksheet, w2 As Worksheet Set w1 = Sheets("raw data") Set w2 = Sheets("data manipulation") w1.Activate For Each r In Intersect(Range("A:A"), ActiveSheet.UsedRange) v = r.Value If InStr(v, "First name") > 0 Then r.Copy w2.Cells(K, 1) K = K + 1 End If Next r End Sub 
  • Макрос Excel VBA находит и удаляет только некоторые из необходимых ячеек
  • Работа с результатом поиска VBA в Excel
  • VBA: поиск значения, замена значения в другом столбце, но в той же строке
  • VLOOKUP сравнить данные в двух разных книгах с VBA
  • копирование определенных записей из таблицы на основе «name» (функция поиска) vba
  • Петля по формуле Excel VBA
  • Проверка согласованности данных
  • Substract последней ячейки в строке из первой ячейки с номером
  • Заменить значения в строке со значением столбца в excel
  • Excel VBA: способ найти значение ячейки с несколькими критериями
  • Range.Find не находит, пока makro не будет сброшен, приостановлен и снова сброшен
  • Interesting Posts

    Лучший способ проверить, происходят ли несколько строк в данной ячейке

    VBA Datelastmodified файла, путь которого указан в столбце

    Как определить, выполняется ли фоновый запрос excel ODBC

    Экспорт данных ретранслятора в Excel в C # .net

    В VBA свойство Rows имеет странное поведение

    удаление невидимого персонажа в excel

    Получить значение строки атрибута из html

    Тип MIME / Content-type для открытия файлов CSV с использованием Excel в IE и Firefox

    Поиск слова в заголовках и столбец для использования в вычислениях в Excel VBA

    Navicat MySQL – функция импорта, закручивающая мои номера

    Возвращение ответов на основе смежных значений ячеек

    HLOOKUP на внешней таблице данных – неправильная строка заголовка

    Каков наилучший способ совместного использования / распространения макроса Excel?

    Как суммировать в excel с символами

    Доступ к определенному значению ячейки с использованием имени таблицы

    Давайте будем гением компьютера.