gpt4 book ai didi

VBA获取单击超链接的单元格的值

转载 作者:行者123 更新时间:2023-12-02 09:11:51 26 4
gpt4 key购买 nike

我试图根据用户单击的超链接的值将用户发送到工作簿中的某个工作表。 “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

我认为我的问题是我在哪里获取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

编辑

因为有很多关于使用正确数据类型的评论。这是一个附加信息。从您选择的情况来看,很明显您只关心从 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

快照

enter image description here

关于VBA获取单击超链接的单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11857090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com