※ ChatGPTを利用し、要約された質問です(原文:VBA 実行時エラー1004 range・・・)
VBA実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトとは?
このQ&Aのポイント
VBA実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトとは?シート名を変更したときに発生するエラーの解決方法を教えてください。
VBA実行時エラー1004の解決方法を教えてください。シート名を変更するとrangeメソッドが失敗するエラーが発生します。
VBA実行時エラー1004のrangeメソッドは失敗しました。globalオブジェクトが関連しています。シート名を変更するとエラーが発生し、解決策がわかりません。
【VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクト】
Excel Book内のあるシートで、
【数量の入っていない行を非表示にする】
【それを解除して全表示にする】
という二つのマクロを使用しています。
このシートのシート名を変更したところ、上記のエラーが出るようになってしまいました。
シート名をもとに戻せば出なくなります。
当方、VBAには詳しくないので、シート名を変えてもこのエラーが出なくなる方法を考え付きません。
エラーからデバッグを表示すると下記記述の窓が開きました。
===ここから===
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Application.Goto Excel.Range(Target.SubAddress), True
End Sub
===ここまで===
『Application.Goto Excel.Range(Target.SubAddress), True』の部分が黄色になっていて、その中の『Target.SubAddress』にカーソルを合わせると、
『Target.SubAddress=”(変更前のシート名)”』がポップアップします。
どこかでシート名の変更をすればいいのだろう、という事は察するのですが、それをどうやったらいいのかがわかりません。
使っているマクロの内容は下記です。
=====
【数量の入っていない行を非表示にするマクロ】
Sub まとめ()
'
' まとめ Macro
ActiveSheet.Range("$A$4:$T$2000").AutoFilter Field:=9, Criteria1:="<>"
Range("B2").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
=====
【それを解除して全表示にするマクロ】
Sub 解除()
'
' 解除 Macro
ActiveSheet.Range("$A$4:$T$2000").AutoFilter Field:=9
Range("B2").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
=====
どこをどうやったらいいのでしょうか。
教えていただけませんでしょうか。
お礼
連絡が遅くなって申し訳ありません。 言われる通りに、1ヶ所あるハイパーリンクを直したら、もうエラーは出なくなりました。 てっきりVBA内の問題だと思っていました。ありがとうございました。