2013-07-24 43 views
0

我有一個工作表,有四列A-D,A列有一個ID號,B有說明,C有位置,D有一個指向項目圖像的鏈接。我有一個簡短的宏,要求用戶輸入ID#並在列A中搜索它。一旦找到ID,就會顯示一個消息框,其中包含工具的位置。我想在列D中的超鏈接在消息框中選擇「確定」按鈕後在新窗口中打開。這可能嗎?任何幫助是極大的讚賞。Excel 2010 VBA代碼遵循動態超鏈接

這是我到目前爲止。

Dim FindString As String 
Dim Rng As Range 
FindString = InputBox("Enter Tooling ID#") 
    If Trim(FindString) <> "" Then 
With Sheets("Sheet1").Range("A:A") 
    Set Rng = .Find(What:=FindString, _ 
        After:=.Cells(.Cells.Count), _ 
        LookIn:=xlValues, _ 
        LookAt:=xlWhole, _ 
        SearchOrder:=xlByRows, _ 
        SearchDirection:=xlNext, _ 
        MatchCase:=False) 
    If Not Rng Is Nothing Then 
     Application.Goto Rng, True 'value found 
     MsgBox "Tooling " & Rng & " is located at " & Rng.Offset(, 2).Value & "." 

    Else 
     MsgBox "Tooling not found" 'value not found 
    End If 
    End With 
End If 

再次感謝。

+0

這看起來好像可以使用if,vlookup和超鏈接工作表函數完成,而沒有任何宏。例如。 (查找(E1,A:C,3,假)),「工具在」&vlookup(E1,A:C ,3,false)),「Tooling not found」),其中e1是用戶將輸入工具ID# – RowanC

回答

0

要遵循一個超鏈接,並在新窗口(真)打開它:

Range("A8").Hyperlinks(1).Follow (True) 

應該在適當的應用程序中打開。

Hyperlink.Follow

如果,如果沒有配置相應的應用程序打開,那麼你可能會讀取來自電池的鏈接地址,並使用Shell開始,例如調查,油漆:

Shell "MSPaint ""F:\Documents and Settings\student\My Documents\My Pictures\blog1.png"""