2013-07-24 44 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"""