[[20050720113419]] 『VLOOKUP時にリンクデータを保持』(杏) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VLOOKUP時にリンクデータを保持』(杏)

 いつもお世話になっております。
 もしかしたら関数では出来ないことかもしれないのですが、
 以下のようなSHEET1と2があった時に、
 SHEET2の方に、コードをキーにVLOOKUPで支店名を
 持ってきているのですが、その場合リンクが外れてしまいます。
 このとき、リンクデータも一緒にひっぱってくるということは
 出来ないのでしょうか?

 <SHEET1>
 コード 支店名
  10   AA ←ここに支店のサイトへのリンクが張られている
  11   BB
  12   CC
  13   DD

 <SHEET2>
 コード  連絡先  所在地  支店名
  10    100   A市  (ここに支店名をリンクデータごと持ってきたい)
  11    120   B市
  12    130   D市
  13
 ・
 ・

 HYPERLINKと組み合わせようとしたのですが、参照先がありません等、
 エラーになってしまいます。お力をお貸し下さい。
 EXEL2002×WIN2000です。

 HYPERLINK関数に与える引数「リンク先」は「リンク先を表現する文字列」でなければならない。
検索関数では「セルを設定そのままそっくり持ってくる」のではないことに注意。
リスト内のセルが「ハイパーリンクである」だけでは機能しない。
実際にSheet1にリンク先を現す文字列のリストが必要。
 コード 支店名 リンク先
  10   AA  http://www.....
  11   BB  http://www.....
  12   CC  http://www.....
  13   DD  http://www.....
Sheet2の数式例
=HYPERLINK(VLOOKUP(A2,Sheet1!A2:C5,3,FALSE),VLOOKUP(A2,Sheet1!A2:C5,2,FALSE))
(みやほりん)

 ご回答ありがとうございます!
 HYPERLINKの働き方を誤解していたようです。
 AAのリンクから、リンク先URLを文字列として取り出すようなことは
 可能なのでしょうか?
 (杏)

 マクロでなら可能かと。
Alt+F11でVisualBasicEditor起動、VBEProjectで該当ブックを選択、
挿入>標準モジュールで標準モジュール作成、
下記コードを貼り付け。
Alt+Qで Excelへ戻り、Sheet1を選択。
Alt+F8でHyperlinks2Textを実行。
 
 Sub Hyperlinks2Text()
     Dim MyRow As Long, i As Long
     MyRow = Range("b65536").End(xlUp).Row
     For i = 2 To MyRow
         Cells(i, 3).Value = Worksheets("Sheet1").Cells(i, 2).Hyperlinks(1).Address
     Next i
 End Sub
 
上記は支店名がB列であると想定。
あらかじめ空白のC列を用意してから実行する。(みやほりん)

 ありがとうございます!無事出来ました!
 今回はリンクのない行は切り取って後ろに回したのですが、
 参考までにB列にリンクがないセルがある場合、
 それを無視して作業を進めさせる場合はどういう文をマクロに
 追加すれば宜しいのでしょうか? (杏)

 リンクがないセルのあることまでは考えてなかった。
 暫定だが、ハイパーリンクのカウントがあるセルだけ処理、という例。(みやほりん)
 Sub Hyperlinks2Text()
     Dim MyRow As Long, i As Long
     MyRow = Range("b65536").End(xlUp).Row
     For i = 2 To MyRow
         If Worksheets("Sheet1").Cells(i, 2).Hyperlinks.Count Then _
         Cells(i, 3).Value = Worksheets("Sheet1").Cells(i, 2).Hyperlinks(1).Address
     Next i
 End Sub


 確認とお礼が遅れてしまってすみません。
 無事出来ました! ありがとうございました!
 (杏)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.