[Excel VBA] ハイパーリンクの数をカウント
■アクティブシートのセルに設定されているハイパーリンク数
Cells.Hyperlinks.Count
■アクティブシートのセル、画像、図形に設定されているハイパーリンク数
ActiveSheet.Hyperlinks.Count
もし画像、図形のハイパーリンク数を知りたいときはこれらを組み合わせて
ActiveSheet.Hyperlinks.Count - Cells.Hyperlinks.Count
とするといいかと思います。
Cells.Hyperlinks.Count
■アクティブシートのセル、画像、図形に設定されているハイパーリンク数
ActiveSheet.Hyperlinks.Count
もし画像、図形のハイパーリンク数を知りたいときはこれらを組み合わせて
ActiveSheet.Hyperlinks.Count - Cells.Hyperlinks.Count
とするといいかと思います。
[Excel VBA] スクロール位置を取得・設定
マクロでコピー・ペーストを使うとスクロールしてしまって、
マクロ開始時とは表示されている位置が変わってしまうのが不便に思うことはないでしょうか?
ScrollColumn、ScrollRowを使うことでスクロール位置を取得したり設定することができます。
例1:画面を一番左上にスクロール
Sub スクロール左上()
ActiveWindow.ScrollColumn = 1 'スクロール列
ActiveWindow.ScrollRow = 1 'スクロール行
End Sub
例2:マクロ開始時のスクロール位置に復元
このスクロール位置取得から設定の間に処理を入れれば表示位置がズレるということがなくなります
Sub スクロール復元()
Dim c As Long, l As Long
c = ActiveWindow.ScrollColumn 'スクロール列取得
l = ActiveWindow.ScrollRow 'スクロール行取得
ActiveWindow.ScrollColumn = c 'スクロール列設定
ActiveWindow.ScrollRow = l 'スクロール行設定
End Sub
マクロ開始時とは表示されている位置が変わってしまうのが不便に思うことはないでしょうか?
ScrollColumn、ScrollRowを使うことでスクロール位置を取得したり設定することができます。
例1:画面を一番左上にスクロール
Sub スクロール左上()
ActiveWindow.ScrollColumn = 1 'スクロール列
ActiveWindow.ScrollRow = 1 'スクロール行
End Sub
例2:マクロ開始時のスクロール位置に復元
このスクロール位置取得から設定の間に処理を入れれば表示位置がズレるということがなくなります
Sub スクロール復元()
Dim c As Long, l As Long
c = ActiveWindow.ScrollColumn 'スクロール列取得
l = ActiveWindow.ScrollRow 'スクロール行取得
ActiveWindow.ScrollColumn = c 'スクロール列設定
ActiveWindow.ScrollRow = l 'スクロール行設定
End Sub
[Excel VBA] 書式はそのままにハイパーリンクをクリアするマクロ
以前の記事と似たような内容ですが、こちらはマクロでハイパーリンクをクリアする方法です。
対象はExcel2010以降です。
ClearHyperlinks を使うと書式を崩さずにハイパーリンクを解除することができます。
'選択範囲内のハイパーリンクをクリア
Sub ハイパーリンククリア()
Selection.ClearHyperlinks
End Sub
これだけだと文字色が青のままだったり、下線がつきっぱなしなので
好みで以下のような命令で文字色を戻して下さい。
Selection.Font.ColorIndex = xlColorIndexAutomatic
Selection.Font.Underline = xlUnderlineStyleNone
対象はExcel2010以降です。
ClearHyperlinks を使うと書式を崩さずにハイパーリンクを解除することができます。
'選択範囲内のハイパーリンクをクリア
Sub ハイパーリンククリア()
Selection.ClearHyperlinks
End Sub
これだけだと文字色が青のままだったり、下線がつきっぱなしなので
好みで以下のような命令で文字色を戻して下さい。
Selection.Font.ColorIndex = xlColorIndexAutomatic
Selection.Font.Underline = xlUnderlineStyleNone