Итак, у меня есть книга с несколькими листами. Рабочие листы названы:Excel VBA Макросы: Найти/сопоставить ячейки с одного листа на столбец в другом
Входы Выходы Оборудование
Входные и выходные серийные идентификаторы совпадающая с actualy IP-адресов.
Вход 1: 192.168.0.1 вход 2: 192.168.0.2 ... и т.д.
Оборудование имеет 3 колонки. Первый имеет Устройства, второй столбец, который имеет входные серийные идентификаторы и третий из выходных последовательных идентификаторов.
Тостер: Вход 1: Выход 3 Блендер: вход 2: Выход 2 ... и т.д.
Теперь, как обычно, я буду использовать ВПР (A1, входы A: B, 2) и Vlookup (A1, Outputs! A: B, 2), но я должен включить это в макрос VBA, который у нас есть, и я понятия не имею, как это сделать.
Sub TrackHardware()
'~~~~~~~~~~~~~~~~~~~~~
'Activating Device
'~~~~~~~~~~~~~~~~~~~~~
currentOutputRow = 2
Dim test As String
For currentRow = 2 To 32768 'The last row of your data
'For Loop to go through contents of Hardware individually
If Not (IsEmpty(Worksheets("Hardware").Range("A" & currentRow).Value)) Then
'To Skip the empty cells
HWID=Worksheets("Hardware").Range("a" & currentvalue).Value
'HWID is the search term coming from Sheet:'Hardware'
Desc=Worksheets("Hardware").Range("D" & currentvalue).Value
'Desc is the Plain Text description coming from Sheet:'Hardware'
inputrow={Match pseudocode that didn't work(HWID, "Inputs", Range:= "A:B", 2) }
outputrow={Match pseudocode that didn't work(HWID, "Outputs", Range:= "A:B", 2) }
'trying to find the row # of search term in Sheets 'Input' and 'Output'
Worksheets("Inputs").Range("C" & inputrow).Value = Desc
Worksheets("Outputs").Range("C" & outputrow).Value = Desc
'Pastes The Device Description to Input and Output Sheets
End If
Next currentRow
'And on to the next line in 'Hardware'
End Sub
Я хотел бы также, чтобы учесть ошибки, как 2-х устройств на одной и той же ввода/вывода или пустые ячейки, но я думаю, что я могу понять тех, кто сам. Эта функция поиска - это то, что действительно дает мне много неприятностей.
Так что я попытался "inputrow = Application.Match (###)" и выдает ошибку 1004. Затем я напечатал «Application.Ma» и щелкнул правой кнопкой мыши на «Свойства списка/Методы», и Match там не работает. Ввод M-A-T привел к «MathCoProcessor» ... Я запускаю Visual Basic 7.1, а Excel - Excel Excel 2013, если это помогает. – Jongscx
Ничего, я нашел! Правильное использование: «Application.WorksheetFunctions.Match (HWID, Worksheets (« Входы »). Диапазон (« A: B »),« 2 »)« – Jongscx
Вы можете попробовать «Application.Worksheetfunction.Match (###)», но это потребует немного отличная ошибка, поскольку эта функция будет вызывать ошибки, а не возвращать значение ошибки. Попробуйте это и дайте мне знать, как это происходит. Я сейчас нахожусь на своем телефоне, но я могу обновить свой ответ с помощью обработки ошибок, когда я вхожу в офис позже. –