Первый раз с использованием VBA.У меня есть лист Excel со списком чисел в столбце A. Я хочу взять каждое из этих значений, найти их на веб-странице и вернуть результат в столбце C, если веб-страница содержит определенную строку текста.
Два вопроса: 1) Я не могу понять, как просто сразу найти на соответствующей странице все значения «A» одно за другим (например, objIE.Navigate "https://www.google.com/search?q=" & Sheets(«Лист1»). Диапазон («А1»). Значение). И как мне его автоматизировать, чтобы он затем выполнял поиск по значению А2 и т. Д. Поэтому в приведенном ниже коде я открываю IE, копирую А1 и нажимаю настраница для поиска.
и связанный с ней 2), я не могу понять, как заставить код работать для всех значений в столбце A и возвращать соответствующие результаты в столбце C.
Я искал пару часов и вижу вещи, которые связаны между собой, но я довольно новичок в этом, и я не могу понять, что я считаю довольно простой вещью.
'start a new subroutine called SearchResult
Sub SearchResult()
Dim objIE As InternetExplorer
Dim y As Integer
Set numrows = number of rows of data.
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
Range("A1").Select
For y = 1 To NumRows
Set objIE = New InternetExplorerMedium
objIE.Visible = False
objIE.navigate "the webpage I want"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'in the search box put cell "A" value
objIE.document.getElementById("the__field--search").Value = _
Sheets("Sheet1").Range("A" & y).Value
'click the 'search' button
objIE.document.getElementById("the__field--search").Click
'wait again for the browser
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'In the above, I'm trying to open the webpage, paste the value in A, and
click. But all the webpages are of the form, webpage.com/ (value in A),
so, I know there is an easier way.
If InStr(objIE.document.body.innerHTML, "Text String") =
0 Then
'...print to Column C
Sheets("Sheet1").Range("C" & y).Value = "Not Found"
Else
Sheets("Sheet1").Range("C" & y).Value = "Found"
End If
'close the browser
objIE.Quit
ActiveCell.Offset(1, 0).Select
Next
End Sub
В данный момент код просто выполняет поиск в A1 и отправляет один и тот же результат в C1, C2 и т. Д. Я хочу выполнить поиск в A1, опубликовать результат в C1, выполнить поиск A2, опубликовать результат в C2 и т. Д.