我需要在电子表格中找到2个字符串。
省略的示例:如果两个字符串都在不同的行
接受的示例:如果两个字符串位于同一行并在列(H)中提供指向该字符串组合的超链接
这是我的代码段:
'Searching for the first string-------------------------------------------
str1 = Application.InputBox(Prompt:="Search value 1:", Title:="Search all workbooks in a folder", Type:=2)
If str1 = vbNullString Then
Exit Sub
'Searching for the second string-------------------------------------------
Str2 = Application.InputBox(Prompt:="Search value 2:", Title:="Search all workbooks in a folder", Type:=2)
If Str2 = vbNullString Then
Exit Sub
'Code for accesing Spreadsheet...
For Each sht In ActiveWorkbook.Worksheets
Set c = sht.Cells.Find(str1, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
Set e = sht.Cells.Find(Str2, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
Set k = sht.Cells.Find(str1, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
Set f = sht.Cells.Find(Str2, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not c Is Nothing Then
firstAddress = c.Address 'Used to loop through the workSheet
secondAddress = e.Address 'Used to loop through the workSheet
Do
lRow = ws.Range("A" & Rows.Count).End(xlUp).Row
lRow2 = ws.Range("A" & Rows.Count).End(xlUp).Row
ws.Range("A1").Offset(lRow, 0).Value = Folderpath
ws.Range("B1").Offset(lRow, 0).Value = Value
ws.Range("C1").Offset(lRow, 0).Value = sht.Name
'This code provides a link to 1-st string in the
ws.Range("D1").Offset(lRow, 0).Value = c.Address
ws.Hyperlinks.Add Anchor:=ws.Range("E1").Offset(lRow, 0), Address:=Folderpath & Value, SubAddress:=sht.Name & "!" & c.Address, TextToDisplay:="Link value 1", ScreenTip:="Str 1"
Set c = sht.Cells.FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
Next sht