[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.