首页 文章

VBA Excel宏查找文本并查找下一个相邻单元格

提问于
浏览
1

我正在尝试编写一个VBA Excel宏来创建一个算法,该算法将查找文本并找到下一个相邻的单元格以在msgbox中显示文本,例如:

我解读了句子“建筑物在一楼下面有一根破裂的管子” . 进入单独的细胞 . 使用此代码:

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

现在解析该句子 . 一旦我选择了一个单元格,我如何在msgbox中显示相邻的单元格

  • 查找文字“已损坏”

  • 查找文本“已损坏”和相邻的单词“pipe”

1 回答

  • 2

    这将满足您的需求:

    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
    

    你找到了'll probably want to add some error handling in case the word you are looking for isn' . 您可以将 ws 对象设置为您正在使用的任何工作表名称 .

相关问题