如果组合框文本等于列列表中的文本,则按照单元格中的超链接向右移动

时间:2015-03-16 14:33:41

标签: excel vba combobox

我在工作表上有一个文件描述列表,它对应于组合框中的下拉列表。我想要一个代码,当用户选择此下拉列表中的任何项目时,代码会识别列中的匹配文本,然后按照右侧单元格中的链接进行描述。

这是我到目前为止的守则:

    Private Sub Open_Button_Click()

Select Case OI_FileName

    Case Is = OI_FileName.Value = Sheets("File_Paths").Range("Description").Value

        With Open_Button

            For Each Cell In Range("Description")
                If (Selection.OI_FileName = Cell.Value) Then Exit For
                    ActiveCell.Offset(0, 1).Select
                        Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
            Return
        End With

End Select

    End Sub

我不确定它是否正常工作,因为VBA显示:编译错误:没有使用结束。

非常感谢您提供的任何帮助

2 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西。 With声明是不必要的。

Private Sub Open_Button_Click()
Dim StrFilePaths As String
Dim CurrFileName As String

CurrFileName = OI_FileName.Value
For Each Cell In Range("Description")
    StrFilePaths = Cell.Value
    If CurrFileName = StrFilePaths Then
          Cell.Offset(0, 1).Select
          Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    End If
Next Cell

End Sub

答案 1 :(得分:0)

1,感谢您对OpiesDad的大量投入,需要进行一些调整,但我认为我已经做到了我现在想做的事情。我必须简化并将超链接带入Range(" Description")列,但我可以接受它。

现在的代码是:

    Private Sub Open_Button_Click()

    Dim StrFilePaths As String
    Dim CurrFileName As String

    CurrFileName = OI_FileName.Value

        Range("Description").Activate
            For Each Cell In Range("Description")
                StrFilePaths = Cell.Value
                If CurrFileName = StrFilePaths Then
                    Cell.Select
                    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
                End If
            Next

    End Sub

再次感谢你,我真的不能够感谢你。