2013-07-01 74 views
1

我試圖寫一個VBA Excel宏創建一個算法,將找到的文本,並找到下一個相鄰單元格中顯示在例如一個MsgBox文本:VBA Excel宏查找文本並查找下一個相鄰的單元

我解析了句子:「建築物的一樓下面有一根破損的管子。」分成不同的細胞。使用此代碼:

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顯示相鄰小區

  1. 查找文本「破」
  2. 查找文本「破」和相鄰的字「管」

回答

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 

你可能會想添加一些錯誤處理,以防萬一你找的字找不到。您可以將ws對象設置爲您正在使用的任何圖紙名稱。