マルシェル新規登録で5000円分当たる

他のデータベースからEXCEL2003シートに移した
URLデータが2万件ほどあります。
現状では、そのURLの入った2万個のセルがハイパーリンク化
されていません。
すべてのセルを一括でハイパーリンク化する方法はないでしょうか。
入力オートフォーマットの設定で、
現在は、一旦1件ずつ入力状態にしたあとエンターすると
自動でハイパーリンク化するのですが、
件数が多いのでとてもやりきれないのです。
(ハイパーリンクを一括で外す方法は見つかったのですが、
その逆がわかりません・・・)

このQ&Aに関連する最新のQ&A

A 回答 (3件)

HYPERLINKと言う関数がありますので、それを利用した方法。


(Excel2000で動作確認)

A列にURLがあるとすれば、他の列に下記の数式を入れます。

=HYPERLINK(A1,A1)

ヘルプをご覧になれば分かると思いますが、
1つ目の引数がリンク先(URL)で、2つ目がセルに表示する文字です。

この方法は簡単ですが、URLが入ったセルに直接リンクを貼る事は出来ません。
    • good
    • 2
この回答へのお礼

おーっ! まさに思い通りの結果を出すことが出来ました。
HYPERLINK という関数があることは知りませんでした。
本当にありがとううございました。
助かりました。

お礼日時:2007/10/26 16:13

#1です。


よく読んだら、URLの入ったセルにリンクを貼るようですね。
であれば、以下のコードでOKだと思います。

Sub url_set()
oColumn = Selection.Column
oRow = Selection.Row
owidth = Selection.Columns.Count
ohight = Selection.Rows.Count

For i = 0 To owidth - 1
For j = 0 To ohight - 1
setdata = Cells(j + oRow, i + oColumn)
If setdata <> "" Then
Cells(j + oRow, i + oColumn).Hyperlinks.Add Anchor:=Cells(j + oRow, i + oColumn), Address:=setdata
End If
Next j
Next i
End Sub

コード入力後、範囲指定してマクロを実行すればハイパーリンクが貼り付けられます。
    • good
    • 6
この回答へのお礼

VBAですね。
いつかは勉強しようと思っていたので張りきってやってみます。
丁寧な回答を何度も本当にありがとうございました。

お礼日時:2007/10/26 16:11

機能としては見あたらなかったので、マクロを組んでみました。



Sub url_set()
urlsheet = InputBox("URLが保管されているシート名は?")

oColumn = Selection.Column
oRow = Selection.Row
owidth = Selection.Columns.Count
ohight = Selection.Rows.Count

For i = 0 To owidth - 1
For j = 0 To ohight - 1
setdata = Sheets(urlsheet).Cells(j + oRow, i + oColumn)
If setdata <> "" Then
Cells(j + oRow, i + oColumn).Hyperlinks.Add Anchor:=Cells(j + oRow, i + oColumn), Address:=setdata
End If
Next j
Next i
End Sub

ツール(T)→マクロ(M)→Visual Basic Editor(V)
でMicrosoft Visual Basicを開きます。
そして、プロジェクトというウインドウにSheetが縦に並んでいると思いますので、どれでもいいのでダブルクリックしてください。
すると、そのSheetのコードを記述するウインドウがでますので、上のコードをコピー&ペーストしてください。
終わったらMicrosoft Visual Basicを閉じて、Excelのウインドウに戻ります。

使い方ですが、まず準備として別シートにURLを入力しておきます。この際に、貼り付けるセルとURLのセルを一致させておいてください。(A1にはりつけるURLは別シートのA1に記載します。)
URLを貼り付けたいところを範囲選択して
ツール(T)→マクロ(M)→マクロ(M)
で、Sheet○_url_setをダブルクリックすれば、シート名を聞いてきますので、URLをセットしたシート名を入力すれば、URLをはりつけます。(対応セルにURLがない場合は無視します)

突貫作業なので何か問題がありましたら言ってください。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QEXCEL2010のハイパーリンク先の一括変更

EXCEL2010のハイパーリンク先の一括変更をしたいのですが、
\\TS-XHL6E6\ だけを削除して、このお尻の部分のリンクを生かしたいのですが、エクセル上で検索して、一括変更するには、どうすればよいのでしょうか?

Aベストアンサー

リンク先を別のブックに変更したいなら、リンクの編集から操作するのが簡単で確実です。

データタブの「リンクの編集」をクリックし、「リンク元の変更」で新しくリンクさせたいブックを指定してください。

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

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

Aベストアンサー

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

Qハイパーリンクの張りなおし:excel 表のHLInk アドレス

Excelの表のB列の B2からB101セルまで文書名がハイパーリンクされ、その名前クリックでファイルサーバーの文書が表示されるようになっています。
最近、ファイルサーバーの頭のフォルダ名称が変わってしまったためリンクを張りなおしが必要。
100個分手でやる必要ありますか。
簡単な方法あれば教えてください。
 新アドレス(ハイパーリンクの編集のアドレス)   旧アドレス
B2  \\abc\xxx\xxxxx\xx--\xx.doc  →\\def\xxx\xxxxx\xx--\xx.doc 
B3  \\abc\xxx\xxxxx\xx--\xx.xls  →\\def\xxx\xxxxx\xx--\xx.xls 
――
B101  省略

Aベストアンサー

マクロで一気にやる方法です。
Alt+F11でVBAの画面を起動し、「挿入」>「標準モジュール」を選択して、右側の画面に以下のマクロをコピーして貼り付けます。
(このマクロでは\\abcを\\defに置きかえています。実際のアドレスに置きかえてください)

Sub ハイパーリンクの置きかえ()
 Dim H As Hyperlink
 For Each H In Range("B2:B101").Hyperlinks
  H.Address = Replace(H.Address, "\\abc", "\\def")
 Next
End Sub

Alt+F11でExcelの画面に戻り、Alt+F8から上記マクロを実行すると、ハイパーリンクが置き換わります。

QExcel ハイパーリンクのURLを別のセルに表示したい。

Excel ハイパーリンクのURLを別のセルに表示したい。

例えば、A1セルに「あいうえお」と入力され、かつハイパーリンクで、
「http://www.aiueo.com」というURLがリンクされているとします。
この、「http://www.aiueo.com」を B1セルに表示させたいです。

なにか良い関数やフリーソフト等はありませんでしょうか??
(ACCESSの場合は、簡単なクエリーのみ利用できるレベルです。)

よろしくお願いします。

Aベストアンサー

こちらで。
http://oshiete.goo.ne.jp/qa/2356920.html

Qエクセルに貼付けたURLが青文字にならない

Excel2003で、エクセルの表を作りました。
同形式の表が複数のシートとして画面の下部にタブが表示されて、成り立っています。
そして各シートにはそれぞれ一箇所に違うウェブサイトのURLをコピー&ペーストしました。
主に、Firefoxの画面の左上のアドレスバーのURLからコピーしてきています。
問題なのは、シートによっては、青く反転されていてクリックするとウェブサイトが表示されるものもありますが、黒文字のもある、という事です。
特定のシートに無意識に何かの設定をしてしまった事による違いなのか、コピー元の場所が無意識に違っていたのが問題なのか、何が原因なのかはわかりません。
エクセルでURLが青文字で表示される方法を教えてください。

Aベストアンサー

(1)URLを入力したとき、自動的に青文字となってリンクされるのは、「オートコレクト」機能です。
メニューから、ツール(T)-オートコレクトのオプション(A)、「入力オートフォーマット」にて、「インターネットとネットワークのアドレスをハイパーリンクに変更する」にチェックが入っていることを確認してください。

ここをオフにしておくと、URL等を入力しても、ただの文字のままになります。

(2)ただの文字列URLにハイパーリンクを付けるには、セルにカーソルをあわせて、メニューから 挿入(I)-ハイパーリンク(I) を選択します。

「表示文字列」から、「アドレス」に文字列をコピペし、[OK]とすると、青文字になってクリックで飛べるようになります。
また、このダイアログから、実際の飛び先URLとセルに表示する文字は別の物に出来ることもわかります。

----

黒文字のまま入ってしまったということは、ハイパーリンク変換されなかったということであるため、クリックしても飛べません。

後からリンクを追加するには、(2)の作業を一つ一つやっていかないといけないんですが、(1) のオートフォーマットがオンならば、もう少し簡単にできます。

(1)のオプションを設定しておいて、黒文字URLのセルで、[F2]キーで編集、[Enter]で確定。([Enter]の代わりに[Tab]の右移動確定でも構いません)
こうして、2キーを交互に打っていけば、どんどんリンク化していくことが出来ます。

ただし、URLの前後に、スペース等、余計な文字が入っていないか確認してください。(セル編集中、[Home]/[End]キーで先頭/末尾にジャンプ可能)
http://~で始まり、きちんと末尾で文字列が終わっていれば、リンクされると思います。

(1)URLを入力したとき、自動的に青文字となってリンクされるのは、「オートコレクト」機能です。
メニューから、ツール(T)-オートコレクトのオプション(A)、「入力オートフォーマット」にて、「インターネットとネットワークのアドレスをハイパーリンクに変更する」にチェックが入っていることを確認してください。

ここをオフにしておくと、URL等を入力しても、ただの文字のままになります。

(2)ただの文字列URLにハイパーリンクを付けるには、セルにカーソルをあわせて、メニューから 挿入(I)-ハイパーリンク(...続きを読む

QEXCELのセル上のURLをクリックしてもリンク先に飛ばない

よろしくお願いします。
質門の意味がわかりづらいタイトルかと思います。すみません。

具体的に(例示して)説明いたします。
例えば、EXCELのあるセルに、http://www.yahoo.co.jpと入力し、そのセルをクリックすると文字列の色が変わってマウスポインターが指(手のひら)マークになる。
それをクリックすればYahooジャパンのページにリンクする。それが普通だと思います。

ところが、数日前からそれができなくなってしまいました。
セルに入力(直接入力、またはメモ帳などからコピー)したURLをダブルクリックしても、何も変化しません。
当たり前かも知れませんが、URLがおかれたセルを右クリックしハイパーリンクの挿入から、
アドレス入力欄にそのURL(前述の例では、http://www.yahoo.co.jp)を入力すれば、文字列の色は青に変わり、クリックすれば飛びます。
また、そのセルのデータ(http://www.yahoo.co.jp)をデリート(デリートキーで)し別のURLを入力すると表示文字色は青に変わります。
しかし、そのセルをクリック(またはダブルクリック)してもマウスポインターの形は指マークに変わりません。当然リンクしません。

特別、システムあるいはEXCELの設定を変えたりしていませんので原因が分からず、不便を感じています。

対処方法ご存知の方、ご教示お願い致します。

よろしくお願いします。
質門の意味がわかりづらいタイトルかと思います。すみません。

具体的に(例示して)説明いたします。
例えば、EXCELのあるセルに、http://www.yahoo.co.jpと入力し、そのセルをクリックすると文字列の色が変わってマウスポインターが指(手のひら)マークになる。
それをクリックすればYahooジャパンのページにリンクする。それが普通だと思います。

ところが、数日前からそれができなくなってしまいました。
セルに入力(直接入力、またはメモ帳などからコピー)し...続きを読む

Aベストアンサー

Excelのバージョンが分かりませんが、
念のために設定を確認してみたら良いかもしれません。

Excel2003、2007
「Officeのハイパーリンク自動変換をオフにする - @IT」
http://www.atmarkit.co.jp/fwin2k/win2ktips/867hyperlink01/hyperlink01.html

Excel2007、2010、2013
「Excelでハイパーリンク機能を有効/無効に設定する方法」
https://121ware.com/qasearch/1007/app/servlet/qadoc?QID=016557

私は2007ですが、
「インターネットとネットワークのアドレスをハイパーリンクに変更する」のチェックは
デフォルト(初期設定)でオフでした。
すなわち、直接入力やテキストエディタからのコピーでは、
自動的にハイパーリンクになりませんでした。
ただ、もともとリンクのあるウェブページからセルにコピー&ペーストした場合は
自動的にハイパーリンクになりました。
ウェプページからコピーした場合でも、数式バーに入力した場合は、
自動的にハイパーリンクになりました。

とりあえず、設定を確認してみることをお勧めします。

Excelのバージョンが分かりませんが、
念のために設定を確認してみたら良いかもしれません。

Excel2003、2007
「Officeのハイパーリンク自動変換をオフにする - @IT」
http://www.atmarkit.co.jp/fwin2k/win2ktips/867hyperlink01/hyperlink01.html

Excel2007、2010、2013
「Excelでハイパーリンク機能を有効/無効に設定する方法」
https://121ware.com/qasearch/1007/app/servlet/qadoc?QID=016557

私は2007ですが、
「インターネットとネットワークのアドレスをハイパーリンクに変更する」のチ...続きを読む

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルで、ハイパーリンクを一括更新したい

タイトルの通りです。

ハイパーリンクにポインタをあてると、file///¥¥〇〇¥△△¥と表示されますが、この中の、¥△△を一括で除去したいです。

全件ハンドでの対応は辛いので、一括での変更をしたいです。どんな方法でも結構ですが、簡易的な方法だとありがたいです。

よろしくお願いします。

Aベストアンサー

マクロで、できるかどうか、今回のご質問だけでは、誰にも言えないと思います。

>ハイパーリンクにポインタをあてると、file///¥¥〇〇¥△△¥と表示されますが、

ポップアップで、見えているものは、論理的なアドレスです。
論理的アドレスは、システム上で、おそらくはそうだと思われる表示をしているだけですから、実体がありません。だから、ファイルと相対関係の位置になっているはずです。

例えば、手動で、今、書き換えようとして、ハイパーリンクの編集で、書き換えようとしているとか、物理的な書き換えがある、実体のあるものでなければ、無理だと思います。

ただ
file///¥¥〇〇¥△△¥

file///¥¥〇〇¥

にするというのでしたら、ファイル-プロパティ-プロパィの詳細
ファイルの概要

ハイパーリンクの基点 の部分に、
¥¥〇〇¥

と入れれば直るはずです。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m


人気Q&Aランキング