VBAを使ってオブジェクトの位置とサイズの情報をある範囲に書き込むマクロを組んだのですが、このマクロを普通にボタンから呼び出せば快適な速度で処理させれるのですが、ハイパーリンクからマクロを呼び出すととてつもなく遅くなります。
どなたかこの原因と対策をお教えいただけませんでしょうか。
以下はオブジェクトの位置とサイズを書き込むマクロです。これをボタンから呼び出せば快適に処理されます。
vba
1'オブジェクトの情報取得 2Sub get_sprop() 3 Dim i As Long 4 Dim s As Long 5 Dim t As Long 6 With ActiveSheet.Shapes 7 For i = 1 To .Count Step 1 8 s = i + 2 9 t = 49 10 ActiveSheet.Cells(s, t).Value = .Item(i).Left 11 ActiveSheet.Cells(s, t + 1).Value = .Item(i).Top 12 ActiveSheet.Cells(s, t + 2).Value = .Item(i).Width 13 ActiveSheet.Cells(s, t + 3).Value = .Item(i).Height 14 Next i 15 End With 16End Sub
下記でハイパーリンクから上記マクロを呼び出しています。ハイパーリンクのあるセルに入力している文字は”位置サイズ保存”です。
vba
1'ハイパーリンクからマクロ実行 2Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 3 Select Case Target.Name 4 Case "位置サイズ保存" 5 Call get_sprop 6 End Select 7End Sub
上記を実行すると処理は進むものの、かなり遅いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/14 08:23