Как найти номер строки определенного значения в Excel с помощью vbscript

У меня есть открытый файл Excel и с помощью VB Script, мне нужно искать только столбец "A" в листе Excel, пока он не соответствует текстовой строке. Когда script находит это совпадение, я хотел бы видеть номер строки ячейки, в которой было найдено совпадение. Спасибо за вашу помощь заранее!

Ответ 1

Это VBA, чтобы найти первый экземпляр "test2" в столбце A активной таблицы. Вы можете настроить строку и рабочий лист в соответствии с вашими потребностями. Он считается только совпадением, если вся ячейка соответствует, например, "test2222" не будет соответствовать. Если вы хотите, удалите бит lookat:=xlWhole:

Sub FindFirstInstance()
Const WHAT_TO_FIND As String = "test2"
Dim ws As Excel.Worksheet
Dim FoundCell As Excel.Range

Set ws = ActiveSheet
Set FoundCell = ws.Range("A:A").Find(what:=WHAT_TO_FIND, lookat:=xlWhole)
If Not FoundCell Is Nothing Then
    MsgBox (WHAT_TO_FIND & " found in row: " & FoundCell.Row)
Else
    MsgBox (WHAT_TO_FIND & " not found")
End If
End Sub

Ответ 2

Спасибо за образец. Ниже он находится в VBScript

Dim FSO, oExcel, oData, FoundCell, WHAT_TO_FIND, File_Path

WHAT_TO_FIND = "Report Summary"
File_Path = "\\[Server]\[Drive$]\[Folder]\Data.xls"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set oExcel = CreateObject("Excel.Application")
Set oData = oExcel.Workbooks.Open(File_Path)

Set FoundCell = oData.Worksheets("Sheet1").Range("A4:A20000").Find(WHAT_TO_FIND)
If Not FoundCell Is Nothing Then
  MsgBox (WHAT_TO_FIND & " found in row: " & FoundCell.Row)
Else
  MsgBox (WHAT_TO_FIND & " not found")
End If

Set File_Path = nothing
Set WHAT_TO_FIND = nothing
Set FoundCell = nothing
Set oData = Nothing
Set oExcel = Nothing
Set FSO = Nothing