ダッシュボードシートに複数のハイパーリンクを持つExcelを作成しています。 1つのリンクをクリックすると、レコードがフィルタリングされた別のシートが開き、フィルタがリセットされます。Excelのハイパーリンクマクロエラーランタイム1004アプリケーション定義またはオブジェクト定義のエラー
いくつかのリンクで動作し、エラーが発生しても何も起こらない間に動作します。実行時1004アプリケーション定義またはオブジェクト定義エラー。
リンク作業:セルI11、I14 リンクスローエラー:B11、E11。
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
これを解決するためのいくつかの助けが必要:
https://drive.google.com/open?id=0B-gwvoyXA0G0aUJZU3pIM3ZtVWM はサンプルマクロは、以下のコードを参照するために
を得意と有効です。ヘルプをよろしくお願いいたします。
質問に関連するコードを掲載してください。 –
あなたのコードはどの行でエラーになりますか?いくつかの推測:1) 'Target'は有効な名前付き範囲参照ですか? 'Selection'は常に有効なものですか? – user3598756
クリックしたリンクがrngOpenTicketsの範囲であっても、If Target.Range.Name = rngPlannedFuture.Nameでエラーとなります。それは範囲rngPlannedFutureとrngTotalFutureのために働く – Arihant