Excel の ハイパーリンク から アドレスを抽出 して隣に取り出してハイパーリンクは削除するマクロです。
Excelのハイパーリンクからアドレスを抽出するコード
Sub Hyperlink_extraction()
Dim link As Hyperlink
For Each link In Selection.Hyperlinks
link.Range.Offset(0, 1).Value = link.Address
link.Delete
Next link
End Sub
Excelのハイパーリンクからアドレスを抽出するコード の解説
プロシージャの書式
Sub プロシージャ名()
処理の内容
End Sub
プロシージャは「Sub」で始まり「End Sub」で終わります。
この間に処理の内容を記述します。
変数の宣言をする
Sub プロシージャ名()
Dim 変数名 As データ型
End Sub
変数をデータ型で宣言します。
データ型
int(整数型)String(文字列型)等
For Each ~ Next構文の書式
特定のコレクションや配列に対して一括して同じ処理を行いたい場合に利用されます。
Sub プロシージャ名()
Dim 変数名 As データ型
For Each 変数 In コレクション
実行したい処理
Next 変数名
End Sub
コレクション
同じ種類のオブジェクトをまとめたもの。
その個々のオブジェクトの名前の複数形になっていることが多い。
個々のリンクのアドレスを取り出す
ハイパーリンクのコレクション から個々のリンクのアドレスを取り出します。
Sub プロシージャ名()
Dim 変数名 As データ型
For Each 変数 In Selection.Hyperlinks
実行したい処理
Next 変数名
End Sub
Selection
現在選択されている箇所をオブジェクトとして返します。
Hyperlinks
ワークシートまたはセル範囲のハイパーリンクのコレクション
アドレスを隣に取り出す
Rangeプロパティでハイパーリンクが設定されているセルを表すRangeオブジェクトが取得できます。
Sub プロシージャ名()
Dim 変数名 As データ型
For Each 変数 In Selection.Hyperlinks
変数.Range.Offset(0, 1).Value = 変数.Address
Next 変数名
End Sub
Address
セルのアドレスを取得する。
Offset
指定されたセル範囲(Rangeオブジェクト)をオフセット(移動)します。
Rangeオブジェクト.Offset(行方向, 列方向)
ハイパーリンクは削除
Range.Delete メソッドでセルを削除します。
Sub プロシージャ名()
Dim 変数名 As データ型
For Each 変数 In Selection.Hyperlinks
変数.Range.Offset(0, 1).Value = 変数.Address
変数.Delete
Next 変数名
End Sub

コメント