В моем коде, когда пользователь вводит в поле подсказки «wifi router», код ищет это в текстовом «DrayTek wifi Vigor 2760 (Ethe rnet, ADSL2 +) router».
В этом Код ситуации не будет иметь никакого выхода.
Могу ли я сделать свой rng.Find, чтобы отделить Wi-Fi и маршрутизатор, и искать в тексте, и если он найдет Wi-Fi и маршрутизатор выведет?
В Другими словами: может ли rng.Find взять «AB», разделить эти два и вывести только если A и B найдены (вместе или по отдельности)? Можно ли как-нибудь использовать Split ()?
firstWord = InputBox("Enter word for bullet_points", "Keyword BOX")
secondWord = InputBox("Enter word for item_name", "Keyword BOX")
thirdWord = InputBox("Enter word for product_description", "Keyword BOX")
LastRow1 = Cells(Rows.Count, 8).End(xlUp).Row + 1
If firstWord = "" Then
ActiveSheet.Cells(LastRow1, 8).Value = "No INPUT"
Else
ActiveSheet.Cells(LastRow1, 8).Value = firstWord
End If
LastRow2 = Cells(Rows.Count, 9).End(xlUp).Row + 1
If secondWord = "" Then
ActiveSheet.Cells(LastRow2, 9).Value = "No INPUT"
Else
ActiveSheet.Cells(LastRow2, 9).Value = secondWord
End If
LastRow3 = Cells(Rows.Count, 10).End(xlUp).Row + 1
If thirdWord = "" Then
ActiveSheet.Cells(LastRow3, 10).Value = "No INPUT"
Else
ActiveSheet.Cells(LastRow3, 10).Value = thirdWord
End If
With ws
If firstWord <> "" Then ReplaceText ws.Range("B17:B1017"), firstWord
If secondWord <> "" Then ReplaceText ws.Range("C17:C1017"), secondWord
If thirdWord <> "" Then ReplaceText ws.Range("D17:D1017"), thirdWord
End With
Exit Sub
Whoa:
MsgBox Err.Description
End Sub
Private Sub ReplaceText(rng As Range, txt As String)
Dim aCell As Range
Dim bCell As Range
Dim rngFound As Range
Set aCell = rng.Find(What:=txt, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
Set bCell = aCell
Set rngFound = aCell
Do
Set aCell = rng.FindNext(After:=aCell)
If Not aCell Is Nothing Then
If aCell.Address = bCell.Address Then Exit Do
Set rngFound = Union(rngFound, aCell)
Else
Exit Do
End If
Loop
End If
If Not rngFound Is Nothing Then
rngFound.Value = "XXXXXXXXXXXXX"
End If