【发布时间】:2020-08-13 02:58:14
【问题描述】:
我正在尝试在用户将 URL 输入合并单元格(“F22:I22”)的位置自动将其格式化为 URL/超链接。因此,如果有人输入google.com,它将使其成为https://www.google.com/ 并验证它。
我有。 (我几乎可以肯定这是错误的)
Sub formaturl ()
if ishyperlink(value) then values (x,y) = format(value, "https:// .com")
End Sub
我看过代码,您可以在其中使用下拉菜单将超链接添加到单元格。这不是我想要的,因为用户将添加他们的公司 URL。
编辑:这是我能够开始工作的最终代码。我还将“超链接”单元格样式修改为没有下划线的 Arial 16 号字体,以便于阅读。
Sub handlethingone(target As Range)
Dim ws As Worksheet
Dim xCell As Range
Dim prefixAddress As String
Dim suffixAddress As String
Set xCell = ActiveSheet.Range("F22")
Set ws = ActiveSheet
prefixAddress = "www."
suffixAddress = ".com"
With ws
If .Range("F22").Value <> vbNullString Then
If Not Left(.Range("F22").Value, 4) = prefixAddress Then
xCell.Parent.Hyperlinks.Add Anchor:=xCell, Address:="", SubAddress:= _
prefixAddress & xCell, TextToDisplay:=prefixAddress & xCell
End If
If Not Right(.Range("F22").Value, 4) = suffixAddress Then
xCell.Parent.Hyperlinks.Add Anchor:=xCell, Address:="", SubAddress:= _
xCell & suffixAddress, TextToDisplay:=xCell & suffixAddress
End If
End If
End With
With xCell.Font
.Name = ("Arial")
.Size = 16
.Color = RGB(0, 0, 0)
.Underline = xlUnderlineStyleNone
End With
With xCell.Font
.Name = ("Arial")
.Size = 16
.Color = RGB(0, 0, 0)
.Underline = xlUnderlineStyleNone
End With
End Sub
【问题讨论】:
-
不,我有一个不同的问题,想通了,然后有这个问题,但忘记更改标题..知道怎么做吗?
-
您是只对一个单元格还是多个单元格执行此操作?因为可能有更好的方法来做到这一点。
-
提供的范围是一个合并的单元格。这将是工作表中唯一会使用它的位置。
-
如何知道 URL 是否为 https?
-
我不知道,如果使用 http 更容易,那也没关系。如果只是做 www.somelink.com 更容易,我也可以。