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