• ベストアンサー

エクセルでハイパーリンクのURLだけを文字抽出したい

ホームページからコピーし、エクセルにリンク文字をペーストすると、青文字(文字にハイパーリンクがかかった状態)が貼りつきます。その張り付いた文字の、リンク先URLを文字としてほしい(http○○・・)のですが、できますか? 青文字を右クリックしてハイパーリンクの編集からURLは見られるのですが、たくさんのリンクリストからURLだけを抽出するのが大変なので、よい方法がありましたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.5

No3 です。 サブアドレスの存在を忘れていました。 訂正です。 Public Sub GetURL()   Dim h As Hyperlink   Dim a As String   Dim s As String   For Each h In ActiveSheet.Hyperlinks     a = h.Address     s = h.SubAddress     If s <> "" Then       a = a & "#" & s     End If     h.Range.Offset(0, 1) = a   Next End Sub

baffalo30
質問者

お礼

大変ありがとうございます! 一瞬でできました!感動しました。 感謝感謝です。本当にありがとうございました!

その他の回答 (4)

  • ks3285
  • ベストアンサー率20% (1/5)
回答No.4

先ほど、書き込みしたのですが、 B列全体だと何も入力されていないセルに0が入ってしまいます。 範囲を指定してください。 (ハイパーリンクになっていない文字のセルを選択してしまっても 問題はありません。

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

現在アクティブなシートのすべてのハイパーリンクの URL を 右隣のセルに書き出すマクロです。 Public Sub GetURL()   Dim h As Hyperlink   For Each h In ActiveSheet.Hyperlinks     h.Range.Offset(0, 1) = h.Address   Next End Sub

  • ks3285
  • ベストアンサー率20% (1/5)
回答No.2

抽出方法は申し訳ないことにわからないのですが、 空いているセルに数字で「1」(「」はいらないです)を入れる たとえばA1に1を入力する A1を選択してコピー URLが入ってしまっているセルを選択し(B列ならB列全体を選択して) ツール→編集→形式を選択して貼り付け→乗算→OK ではいかがでしょうか?

回答No.1

抽出方法は別として、とりあえずハイパーリンクを文字列にするには、 メニューのツールー>オートコレクトのオプションを開き、入力オートフォーマットのタブを選択してください。入力中に自動で変更する項目の、「インターネットとネットワークのアドレスをハイパーリンクに変更する」にチェックをはずしてください。 そのあと、ハイパーリンクの列を別の列にコピーすればだたの文字列になるはずです。

関連するQ&A

専門家に質問してみよう