※ ChatGPTを利用し、要約された質問です(原文:マクロで困ってます!)
マクロでセル検索時にハイパーリンクが外れてしまう問題の解決方法
このQ&Aのポイント
マクロを使用してセル検索を行う際、設定していたハイパーリンクが外れてしまう問題に困っています。対処方法を教えてください。
バージョンが2007のExcelで、マクロを使用して同一ブック内の「データ」というシートから「検索更新」というシートで検索をかけるコードを作成していますが、ハイパーリンクが外れてしまいます。どうすれば正常に機能させることができるでしょうか?
セル検索時にマクロを使用していると、ハイパーリンクが外れてしまう問題が発生しています。解決方法を教えてください。
マクロでセル検索かけたらそのセルに設定していたハイパーリンクが外れてしまいます。
どうすればいいでしょうか・・?お力を貸してください!
バージョンは2007です!
コードは下記になります!
同一ブック内の「データ」というシートにあるものを「検索更新」というシートで検索をかけるというものです。
宜しくお願いします!!
Sub 検索2()
myLAST = Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1
If myLAST < 5 Then myLAST = 5
Range("A5:F" & myLAST).ClearContents
Set myC = Sheets(1).Columns(3) _
.Find(What:=Range("E2").Value, _
LookIn:=xlValues, LookAt:=xlPart) '
If myC Is Nothing Then Exit Sub
myCa = myC.Address
Do
myLAST = Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row + 1
Range("A" & myLAST) = myC.Row
Range("B" & myLAST) = myC.Offset(0, -1)
Range("C" & myLAST) = myC.Offset(0, 0)
Range("D" & myLAST) = myC.Offset(0, 1)
Range("E" & myLAST) = myC.Offset(0, 2)
Range("F" & myLAST) = myC.Offset(0, 3)
Set myC = Sheets(1).Columns(3).FindNext(myC)
If myC Is Nothing _
Or myCa = myC.Address Then Exit Do
Loop
Set myC = Nothing
End Sub
Sub 更新()
myLAST = Range("A" & ActiveSheet.Rows.Count).End(xlUp).Row
If myLAST < 5 Then myLAST = 5
For Each myC In Range("A5:A" & myLAST)
If myC.Value = "" Then Exit Sub
With Sheets(1)
.Range("B" & myC.Value) = myC.Offset(0, 1)
.Range("C" & myC.Value) = myC.Offset(0, 2)
.Range("D" & myC.Value) = myC.Offset(0, 3)
.Range("E" & myC.Value) = myC.Offset(0, 4)
.Range("F" & myC.Value) = myC.Offset(0, 5)
End With
Range("A" & myC.Row & ":F" & myC.Row).ClearContents
Next
MsgBox "更新しました"
End Sub