我有一个具有文本框条目的userform,然后将其发送到特定位置。文本框的内容是一个超链接。我想要它做的是更新excel表单中的超链接并显示URL的最后部分。例如https://stackoverflow.com/questions/ask ............ 超链接I更新始终是相同的,最后一部分是更改。例如:
https://stackoverflow.com/questions/ask
https://stackoverflow.com/questions/this
https://stackoverflow.com/questions/question
https://stackoverflow.com/questions/yippeeee
我知道我可以在我的用户表单中调用另一个文本框条目,但我试图尽可能避免为用户提供更多步骤。反正有没有这样做? 这是我的代码:
Sub hyperlink()
' hyperlink Macro
Dim rng As Range
Set rng = Range("C3:I13")
Str = "https://somelink.com/blahblah/THIS_IS_WHAT_I_WANT_TO_DISPLAY"
Range("C3:I13").Select
Application.CutCopyMode = False
Selection.Hyperlinks(1).Address = "textbox2.text"
Selection.Hyperlinks(1).TextToDisplay = "THIS_IS_WHAT_I_WANT_TO_DISPLAY"
End Sub
非常感谢你。
答案 0 :(得分:1)
像这样提取字符串的最后一部分
str = Right(str, Len(str) - InStrRev(str, "/"))
Option Explicit
Public Sub UpdateHyperLink()
Dim rng As Range, str As String
Set rng = Range("C3:I13")
str = "https://somelink.com/blahblah/THIS_IS_WHAT_I_WANT_TO_DISPLAY"
str = Right(str, Len(str) - InStrRev(str, "/"))
Application.CutCopyMode = False
With rng.Hyperlinks(1)
.Address = "textbox2.text"
.TextToDisplay = str '<--- str = "THIS_IS_WHAT_I_WANT_TO_DISPLAY"
End With
End Sub