用意するモノ:
いつものmixiとMicrosoft Excelだけです。
今回はExcel 2003ですが、たぶん2000以降なら大丈夫でしょう。
手順:
mixiの"最近の足跡"をこんな風に
ズリズリズリ~っと選択してコピーします。

次にこれをExcelに貼り付けます。
[Alt]+[F.11]を押して、VBウィンドウを開き
「VBAProject」→(右クリック)「挿入」→「標準モジュール」
を開きます。

真っ白なウィンドウが開きますので
そこに以下のテキストをコピペしてください。
' (この下から)------------------
'セルの値に埋め込まれたハイパーリンクを抜き出すマクロ
'
'使い方:
'A1にハイパーリンクが有る時
'=linkAddress(A1)
'
Public Function linkAddress(r As Range) As String
'指定したセルにハイパーリンクオブジェクトがあるかどうかチェック
If r.Hyperlinks.Count > 0 Then
linkAddress = r.Hyperlinks(1).Address
Else
'HYPERLINK関数を使っているなら
If InStr(r.Formula, "=HYPERLINK") Then
linkAddress = Mid(r.Formula, 13, InStr(13, r.Formula, """") - 13)
Else
linkAddress = ""
End If
End If
End Function
' (ここまで)------------------
貼り付けたらモジュールに名前を付けます。
プロパティの「オブジェクト名」のところで
module 1 なんて名前を
Pick_URL なんて名前に変更してください。

続いてふたつ目です。
同様な方法で
「VBAProject」→(右クリック)「挿入」→「標準モジュール」
から、以下をコピペしてください。
' (こっから)------------------
'リンクURLに埋め込まれたIDを抽出する関数
'
'使い方:
'A1にmixi_URLが有る時
'=linkID(A1)
'
Public Function linkID(r As Range) As String
'指定したセルがURLかどうかチェック
If Left(r, 7) = "http://" Then
linkID = Int(Mid(r, 34, 8))
Else
linkID = 0
End If
End Function
' (ここまで)------------------
こいつは「Pick_ID」とか、名前を付けといてください。
これで、例えば A1に対象ハイパーリンクがあったとして
B1のセルに「 =linkAddress(A1) 」と入力すると
B1のセルに指し示すURL文字列が表示されます。
また、このとき C1のセルに「 =linkID(B1)」と入力すると
C1のセルにリンク先のIDが表示されます。
ひとつだけ(先頭行だけ)設定しておけば
必要なところまでドラッグで次々に
URL文字列やIDが表示されるようになります。
※こんなモノでシュアを取るつもりはありませんが
つい先日まで3ヶ月間も入院していて
超金欠状態です。σ(^^;
哀れと思ったら、左の[Ads by Google]のリンクを
どこでも良いので叩いていって(リンク先を開いて)ください。
よろしくお願いいたします。
最近のコメント