DRO*_*ers 4 excel vba excel-vba
我试图根据用户点击的超链接值将用户发送到工作簿中的certian表."1.01"是其中一个超链接的单元格中的示例文本.我点击这个代码时会触发事件,但每次BR都是0.
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim BR As Integer
BR = ActiveCell.Value
Select Case BR
Case Is < 2 'case always gets run because BR is always 0
Worksheets("Appts").Select
Case 2 To 3
Worksheets("Next").Select
Case 3 To 4
Worksheets("Calls").Select
End Select
End Sub
Run Code Online (Sandbox Code Playgroud)
我认为我的问题是我得到的问题,ActiveCell.Value但我无法弄明白.任何帮助表示赞赏.
谢谢,
这是你在尝试什么?
Activecell将始终为您提供活动单元格的值.如果你想要具有超链接的单元格的值,那么使用它.
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim BR As Integer
BR = Target.Range.Value
Select Case BR
Case Is < 2: Worksheets("Appts").Select
Case 2 To 3: Worksheets("Next").Select
Case 3 To 4: Worksheets("Calls").Select
End Select
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑
由于使用正确的数据类型有很多评论.这是一个补充信息.从您的选择案例中可以看出,您只关注1到4的值.在这种情况下,将变量声明为Integer就可以了.如果您不确定用户输入,那么引入一个小的错误处理,因为然后将变量声明为Integer或Long或Single将无济于事.例如
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim BR As Integer
On Error GoTo Whoa
BR = Target.Range.Value
Select Case BR
Case Is < 2: Worksheets("Appts").Select
Case 2 To 3: Worksheets("Next").Select
Case 3 To 4: Worksheets("Calls").Select
End Select
Exit Sub
Whoa:
MsgBox "The value of the cell which has the hyperlink doesn't fall in the range 1 to 4"
End Sub
Run Code Online (Sandbox Code Playgroud)
快照

| 归档时间: |
|
| 查看次数: |
6370 次 |
| 最近记录: |