Excel2007を利用しています。


A1に文字列「SONY」 ハイパーリンクの挿入で文字列SONY、アドレス​http://www.sony.co.jp

B1に=hyperlink("​http://www.sony.co.jp","sony")​

と入っているとします。B1の形式を全てA1の形式に変換したいと思っていますがどのようにやればよいかわかりません。

Hyperlink関数を使った方がいろんな面で便利とは知っているのですが、B1のhyperlink関数からA1のハイパーリンク挿入への変換を教えていただきたく思います。B列には数百社のhyperlink関数で定義された企業名があるのですが、それをAの形式に手動でなおすには時間が恐ろしくかかってしまいます。よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/01/26 01:00:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:ardarim No.1

回答回数897ベストアンサー獲得回数145

ポイント60pt

VBAで作ってみました。

実行すると、B列のHYPERLINK関数の形式から、A列にハイパーリンクを追加します。

Sub ChangeHyperlinks()
    
    Dim r As Long
    Dim m As Long
    Dim t As String
    Dim url As String
    
    m = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
    For r = 1 To m
        t = Trim$(Cells(r, 2).Formula)
        If Left$(t, 10) = "=HYPERLINK" Then
            t = Left$(t, Len(t) - 2)             ' 右端の ") を削除
            t = Right$(t, Len(t) - 12)           ' 左端の =HYPERLINK(" を削除
            url = Left$(t, InStr(t, """") - 1)   ' URL切出し
            Cells(r, 1).Value = _
                Right$(t, Len(t) - Len(url) - 3) ' 別名を切出し、A列にセット
            ActiveSheet.Hyperlinks.Add _
                Cells(r, 1), url                 ' リンク追加
        End If
    Next r
    
End Sub

URLはダミー

http://q.hatena.ne.jp/1200671971

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません