【发布时间】:2019-12-12 13:17:37
【问题描述】:
我正在尝试在第一列中创建超链接,条件是单元格中的值以“W”开头。
在我将脚本从 Sheet 对象移动到 ThisWorkbook 之前,它似乎有效。
从那时起,当我尝试从另一个工作表复制一些单元格并将它们粘贴到活动工作表时,我复制的所有内容都被粘贴为超链接,无论它是什么列或值。更重要的是,如果我尝试在第一个单元格链接的行中键入任何内容,则默认键入模式为超链接样式。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim KeyCells2 As Range
Set KeyCells2 = Range("A:A")
If Not Application.Intersect(KeyCells2, Range(Target.Address)) _
Is Nothing Then
On Error Resume Next
If Target.Count = 1 Then 'this one was meant to be a fix but it didn't change a thing
If Left(Target.Value, 1) = "W" Then
link = "http://<mylink>" & Target.Value
ActiveSheet.Hyperlinks.Add Target, link
End If
End If
End If
End Sub
【问题讨论】:
-
Range(Target.Address)?它没有资格。Target(这是)不会吗? -
另外,
KeyCells2 = Range("A:A")不合格。 -
@CLR '不合格'是什么意思?那么如何选择A列中的每个单元格呢?
-
不合格:您已经告诉它使用 Range ("A:A"),但您希望 Excel 能够“猜测”哪个 sheet,哪个 workbook 等等,当你没有具体说明时。