Использование функции If для извлечения данных из другого листа - PullRequest
0 голосов
/ 13 марта 2020

Используя пример набора данных, найденный в Используя функцию «If» для извлечения данных из другого листа , я пытаюсь использовать функцию If VBA для поиска ключевого слова Speci c, и если есть В качестве совпадения я хотел бы извлечь само Имя, а также его серийный номер и продукт и добавить в последний ряд другой лист в той же книге. Например, если в столбце C мы обнаружим, скажем, cana (обратите внимание, что это не точное совпадение, но достаточно хорошее), то я бы хотел, чтобы VBA помогла мне извлечь Canary Wharf, его серийный номер и продукт следующим образом. к нему, которые являются 8273615 и Консервы, до конца другого листа, и l oop продолжается до конца Кэнэри-Уорф и переходит к Riverdale, который я бы напечатал, скажем, riverd, и повторил то же самое обработать. Символы x означают, что у меня довольно большой набор данных, ничего больше.

Я использовал приведенный ниже код для выполнения задачи:

Option Compare Text
 
Sub DataExtraction()
 
Dim SrchRng As Range, cel As Range, i As Integer
 
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
 
 
Set SrchRng = ws1.Range("A1:A100")
 
For Each cel In SrchRng
    For i = 1 To 10
        For k = 1 To 1
        If InStr(1, cel(i, k).Value, "cana") > 0 Then
            ActiveCell(i, k).Value = "Canary Wharf"
            ActiveCell(i, k + 1).Value = cel(i, k + 1).Value
            ActiveCell(i, k + 2).Value = cel(i, k + 2).Value
        End If
        Next k
    Next i
Next cel
 
End Sub

Код выше импортировал 10 одинаковых входы, а именно, Canary Wharf, 8273615, Консервы, для 10 раз, я подозреваю, что это было из-за моей команды For i = 1 To 10. Моя желаемая конечная цель - позволить VBA извлечь Canary Wharf до тех пор, пока рядом с двумя входами справа не останется Canary Wharf. Другими словами, это будет Матрица 2х3, на которую я смотрю. Тогда, естественно, я бы переехал в Ривердейл, и цикл продолжился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...