Excel 超链接宏错误运行时 1004 应用程序定义或对象定义错误



我正在仪表板工作表上创建一个带有多个超链接的 excel。单击一个链接将打开另一个工作表,其中记录已过滤,其他链接将重置筛选器。

它适用于几个链接,而少数链接失败,并显示错误:运行时 1004 应用程序定义或对象定义错误。

链接工作:单元格 I11、I14链接抛出错误:B11、E11。

https://drive.google.com/open?id=0B-gwvoyXA0G0aUJZU3pIM3ZtVWM是示例宏启用的 Excel 以供参考

代码如下:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)    
  Dim rngOpenTickets As Range  
  Dim rngMaxAge As Range  
  Dim rngPlannedFuture As Range  
  Dim rngTotalFuture As Range  
  Set rngOpenTickets = Range("TicketsOpen")  
  Set rngMaxAge = Range("TicketMaxAge")  
  Set rngPlannedFuture = Range("FuturePlanned")  
  Set rngTotalFuture = Range("TotalFuture")  
 If Target.Range.Name = rngPlannedFuture.Name Then  
    ApplyFilter 5, "<>"  
 ElseIf Target.Range.Name = rngMaxAge.Name Then  
    ApplyFilter 10, rngMaxAge.Text  
 ElseIf Target.Range.Name = rngTotalFuture.Name Or Target.Range.Name =   rngOpenTickets.Name Then  
     RemoveFilter  
  End If  
End Sub  
Sub RemoveFilter()  
    If ActiveSheet.FilterMode Then  
        ActiveSheet.ShowAllData  
    End If  
End Sub
Sub ApplyFilter(field As Integer, criteria As String)  
    Selection.AutoFilter  
    Selection.AutoFilter field:=field, Criteria1:=criteria  
End Sub  

需要一些帮助来解决这个问题。感谢您的帮助。

单元格I11I14B11 E11 中的链接之间的区别如下:

I11中,I14首先设置链接,然后I11:J11单元格,I14:J14被合并。

B11中,E11单元格B11:C11,首先E11:F11被合并,然后链接被设置为合并的单元格。

所以在B11:C11中,E11:F11链接Target是合并的范围,而在I11中,I14链接Target是单个单元格。这就是为什么Target.Range.NameB11:C11E11:F11上失败的原因.

如果您采用Target.Range.Item(1).Name,它将同时适用于合并的单元格链接目标和单单元格链接目标。

  If Target.Range.Item(1).Name = rngPlannedFuture.Name Then
    ApplyFilter 5, "<>"
  ElseIf Target.Range.Item(1).Name = rngMaxAge.Name Then
    ApplyFilter 10, rngMaxAge.Text
  ElseIf Target.Range.Item(1).Name = rngTotalFuture.Name Or Target.Range.Item(1).Name = rngOpenTickets.Name Then
     RemoveFilter
  End If

最新更新