VBA Excelmacros查找文本并find下一个相邻的单元格

我正在尝试编写一个VBA Excelmacros来创build一个algorithm,它将查找文本并find下一个相邻的单元格,以在msgbox中显示文本,例如:

我parsing了这句话:“build筑物的一楼下面有一根破损的pipe道。” 分成单独的细胞。 使用这个代码:

Sub Module3() ' ' Parse text ' ' Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), TrailingMinusNumbers:=True End Sub 

现在parsing该句子。 一旦我select了一个单元格,我怎样才能在msgbox中显示相邻的单元格

  1. 查找文字“破”
  2. find文字“破”和相邻的单词“pipe”

这将做你所需要的:

 Sub FindPlusOffset() Dim ws As Worksheet Dim match As Range Dim findMe As String Dim findOffset As String Set ws = ThisWorkbook.Sheets("Sheet1") findMe = "broken" Set match = ws.Cells.Find(findMe) findOffset = match.Offset(, 1).Value MsgBox "The adjacent word to """ & findMe & """ is """ & findOffset & """." End Sub 

你可能会想添加一些error handling,以防你find的单词没有find。 您可以将ws对象设置为您正在使用的任何表单名称。