質問です。

今、EXCELのハイパーリンク先としてmynetworkの中の別のパソコンにあるファイルを参照しているのですが、参照先を別のパソコンへ変更しようと考えておりまして、その場合、リンク先のアドレスを一括で変更できる方法はないかと思いまして質問させて頂きました。

参照ファイルが沢山あるため、全てを変更するのは、
とても大変でして、変更したい部分は、マシン名だけなのですが、なにか良い方法がありましたら、教えて頂けないでしょうか?
宜しく御願いします。

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

A 回答 (4件)

すみません。

 ちょっと、訂正です。 
コードの先頭に Option Compare Text を1行 追加しただけですが、
こちらのコードをコピーして使ってください。 大文字/小文字 識別の関係です。

> リンク先のアドレスを一括で変更できる方法・・・・・

ハイパーリンク先は、編集-->置換 では、出来ないと思います。

「一括」となるとVBAで処理することになるかと思います。

次の操作することにより、一発でブック内のハイパーリンク先が、全て置換えに
なりますので、宜しかったら、詳しく手順を書きますので、テストしてみてください。

【 操作手順 】

・ いずれかのシート名タブを右クリックして「コードの表示」を指定し、
 開いたコードウィンドウに下記コードをコピーして貼り付けます。

・ コードの設定事項で「検索文字列」と「置換え文字列」を指定します。
 (現在は、アドレスに含む abc の部分を xyz に置換えるという設定です。)

・ 貼り付けたコード内(1行目とか)にカーソルがある状態で、F5キーを押し実行ます。

・ これで、ハイパーリンク先が置換えになりますので、今貼り付けたコードを全て削除
 してから、右上の×で閉じ、シートに戻ります。
 
これで完了です。 ハイパーリンク先が、変更になっているか、確認してみてください。

Option Compare Text
Sub ChgLinkAdd()
'全シート ハイパーリンク先置換え
'-------- 設定事項 --------------------
Const Old_Add_Part = "abc" '    <------ 検索文字列
Const New_Add_Part = "xyz" '   <------ 置換え文字列
'-------------------------------------
Dim Sh As Worksheet
Dim Hyp As Hyperlink
Dim Rng As Range
Dim Cnt As Long
For Each Sh In Worksheets
  For Each Hyp In Sh.Hyperlinks
    If InStr(Hyp.Address, Old_Add_Part) > 0 Then
      Hyp.Address = Replace(Hyp.Address, _
      Old_Add_Part, New_Add_Part, , , vbTextCompare)
      Cnt = Cnt + 1
    End If
  Next Hyp
Next Sh
MsgBox "ハイパーリンク先 " & Cnt & _
    " 箇所を置換えしました。", , "置換え完了"
End Sub
    • good
    • 0
この回答へのお礼

有難う御座いました。
助かりました。

お礼日時:2005/04/13 01:23

> リンク先のアドレスを一括で変更できる方法・・・・・



ハイパーリンク先は、編集-->置換 では、出来ないと思います。

「一括」となるとVBAで処理することになるかと思います。

次の操作することにより、一発でブック内のハイパーリンク先が、全て置換えに
なりますので、宜しかったら、詳しく手順を書きますので、テストしてみてください。

【 操作手順 】

・ いずれかのシート名タブを右クリックして「コードの表示」を指定し、
 開いたコードウィンドウに下記コードをコピーして貼り付けます。

・ コードの設定事項で「検索文字列」と「置換え文字列」を指定します。
 (現在は、アドレスに含む abc の部分を xyz に置換えるという設定です。)

・ 貼り付けたコード内(1行目とか)にカーソルがある状態で、F5キーを押し実行ます。

・ これで、リンク先アドレスが、全て置換えになりますので、今貼り付けたコードを
全て削除してから、右上の×で閉じ、シートに戻ります。
 
これで完了です。 ハイパーリンク先が、変更になっているか、確認してみてください。


Sub ChgLinkAdd()
'全シート ハイパーリンク先置換え
'-------- 設定事項 --------------------
Const Old_Add_Part = "abc" '    <------ 検索文字列
Const New_Add_Part = "xyz" '   <------ 置換え文字列
'-------------------------------------
Dim Sh As Worksheet
Dim Hyp As Hyperlink
Dim Rng As Range
Dim Cnt As Long
For Each Sh In Worksheets
  For Each Hyp In Sh.Hyperlinks
    If InStr(Hyp.Address, Old_Add_Part) > 0 Then
      Hyp.Address = Replace(Hyp.Address, _
      Old_Add_Part, New_Add_Part, , , vbTextCompare)
      Cnt = Cnt + 1
    End If
  Next Hyp
Next Sh
MsgBox "ハイパーリンク先 " & Cnt & _
    " 箇所を置換えしました。", , "置換え完了"
End Sub
    • good
    • 0

力技ですが新リンク先のPCに旧リンク先のPC名を付けることはできないのでしょうか?

    • good
    • 0

置換を使えばいいのでは?


編集>置換 または ctrl + h
です。
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

Q英語は単語が先ですか?文法が先ですか?

英語は単語力ですか?? 現在中学生です。
中学の先生が、週に4回、単語50題の宿題を出しています。
日本語から英語に直します。答えはいただいているので、自分で○つけをしています。
英語は単語が先ですか?文法が先ですか?
同時進行がいいと言われるかもしれませんが。

私、個人的には文法よりも単語が先と思っていますが。

Aベストアンサー

どちらかといえば単語です。
文法というのは、単純に言えば「単語をどう並べるか」です。
たとえて言えば、単語は機械の部品のようなもので、文法は機械の組み立て方のようなものです。部品を作るのと部品を組み立てるのと、どちらを先にするかといえば当然部品を作る方ですね。英語の勉強も同じです。文法を勉強しようと思っても、例文に出てくる単語が知らないものばかりだったら理解ができません。
だから、単語力が足りないようならまず基本的な単語をしっかり覚えましょう。
基本的な単語がある程度身についているなら、あとは同時進行でいいと思いますよ。

Q特定列に記述されたリンク先を別セル別ワードからリンクしたいのですが…

A列に6~7行(うまく整理すれば6行に統一可能)の管理番号があり、B~E列には説明があります。
Eには「写真へ」という文字を入力してあり同様のパターンで約250行記述しています。
この「写真へ」にハイパーリンクを挿入するのですが、リンク先は(例)「http://www.oshiete○○.jp/Photo/abc123」とした場合に、「http://www.oshiete○○.jp/Photo/」までは全て共通、「abc123」は管理番号でABC以下の数値が3~4桁で入力されています。
現在はひとつの「写真へ」のセルに「http://www.oshiete○○.jp/Photo/」のリンクをつくり、全てにコピーした後、1行づつ「ハイパーリンクの編集」で「http://www.oshiete○○.jp/Photo/」の後に商品番号を付けています。

もう少し楽な方法を模索してF~G列を作業エリアにしてF列に全てに共通の部分「http://www.oshiete○○.jp/Photo/」を入力、G列は「=F1&A1」としてハイパーリンクの文字列は出来上がったのですが「写真へ」の文字表記のままこれらのリンクを付ける方法があれば教えて下さい。

※実際はネットショップのカートへのリンクですが、セキュリティ面からカートの元アドレスを見えるように表記する事が禁止されているので、困っています。

A列に6~7行(うまく整理すれば6行に統一可能)の管理番号があり、B~E列には説明があります。
Eには「写真へ」という文字を入力してあり同様のパターンで約250行記述しています。
この「写真へ」にハイパーリンクを挿入するのですが、リンク先は(例)「http://www.oshiete○○.jp/Photo/abc123」とした場合に、「http://www.oshiete○○.jp/Photo/」までは全て共通、「abc123」は管理番号でABC以下の数値が3~4桁で入力されています。
現在はひとつの「写真へ」のセルに「http://www.oshiete○○.jp/Photo/」の...続きを読む

Aベストアンサー

VBA使わない方法は思いつきませんでした。
VBA使っても良いなら、
1)そのシートのシートタブを右クリック。「コードの表示」をクリック。
2)右側のエディタエリアに下記コードを貼り付け。
3)[F5]キーを押して実行。

で、いけると思います。

+++++++++++++++++++++++++++++++
Sub putLink()
Dim rIdx As Long
For rIdx = 1 To Range("E65536").End(xlUp).Row
If Cells(rIdx, 5).Value <> "" Then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(rIdx, 5), Address:=Cells(rIdx, 6).Value, TextToDisplay:=Cells(rIdx, 5).Value
End If
Next
End Sub

Q英語を習得するのにお勧めの留学先

 こんばんは。
現在、短期~中期で英語の語学留学を考えているのですが、留学先をどこにしようかと思っています。
 期間も予算も制限があって、最大3ヶ月しか取れないし、最大60万円くらいしか出せません。
 勉強はすごくしようと思いますが、進学希望でなく、資格とか試験とか関係なく、はったりが効く(ゼスチャー混ぜ混ぜで)海外でのコミュニケーション能力と度胸を身に付けるのも目的ですので、共有語が英語の地域なら、方言、現地語はあっていいのですが、一応、留学先の学校のカリキュラムには共有語の英語がある留学プログラムを探しています。
 そして、限られた予算内で取れる期間の幾らかでも長く居たいのですが、こんな国でこんなのがあるよ~とかお勧めがあったら教えて下さい。また、いやいや、やっぱり、英語勉強したいならこうでしょう(期間短くても~)!!とかもあったら色々アドバイスください^^

Aベストアンサー

マレーシア在住です。英語は第2外国語ですが、ほとんど皆英語は話せます。
結構いい加減な英語も多いけど。なので、西洋人相手にするよりも結構気軽です。
ここで3ヶ月60万円ならかなり余ります。
それでも良ければ是非とも!

Qエクセルで別シートを参照していて、参照元のデータを変更した場合

エクセルで別シートを参照したいのですがうまくいきません。

(1)Sheet1には顧客データが入っています。
【Sheet1】
  A   B   C
1 氏名 住所 性別 
2 小川 東京 男
3 佐藤 大阪 女
4 鈴木 福岡 女

(2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。
【Sheet2】
  A   B    C    D
1 氏名 住所  12/1 12/15 
2 小川 東京  1    5
3 佐藤 大阪  1    5
4 鈴木 福岡  1    5

(3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました)
【Sheet1】
  A   B   C
1 氏名 住所 性別 
2 小川 東京 男
3 加藤 沖縄 男
4 佐藤 大阪 女
5 鈴木 福岡 女

(4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。
【Sheet2】
  A   B    C    D
1 氏名 住所  12/1 12/15  
2 小川 東京  1    5
3 加藤 沖縄  
4 佐藤 大阪  1    5
5 鈴木 福岡  1    5

(5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?

エクセルで別シートを参照したいのですがうまくいきません。

(1)Sheet1には顧客データが入っています。
【Sheet1】
  A   B   C
1 氏名 住所 性別 
2 小川 東京 男
3 佐藤 大阪 女
4 鈴木 福岡 女

(2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。
【Sheet2】
  A   B    C    D
1 氏名 住所  12/1...続きを読む

Aベストアンサー

解答No1です。No1の方法ではA列およびB列の対応はできるのですがそのほかの列についてはシート2で行が挿入された形にはなりません。
次のようにすることでしょう。
シート1で行を挿入する前にシート1を選択した状態でシート見出しでCtrlキーを押しながらシート2の名前をクリックします。これでシート1と2は同じ作業グループになります。その後にシート1で行の挿入操作をすればシー2でも同様に行が挿入されます。そこでA列およびB列にデータを入力します。
行の挿入とデータの入力がすんだあとでは必ず作業グループを解除することが必要です。作業グループの解除はシート見出しでシート1を右クリックして「作業グループの解除」を選択すればよいでしょう。
操作が多少面倒になりますが関数などでお望みの操作はできないでしょう。

Q英語の勉強をしていたら「ありがとう」が言えなくなりました バイト先が接客業なので「ありがとうございま

英語の勉強をしていたら「ありがとう」が言えなくなりました
バイト先が接客業なので「ありがとうございます」を一日何十回と言うのですが、最近「ありがとう」の「り」のあたりが発音できなくなってきました。
英語の勉強を結構してるので英語の発音をしているうちに日本語の発音が下手になったのかなぁと…。皆さん英語を勉強していてそういうことありましたか?

Aベストアンサー

難しく考える事はありません。
Lの発音をすれば大丈夫です。
口の形を意識的に使い分けられるように練習しましょう。

QEXCEL2007での相対参照ハイパーリンク

ハイパーリンク未経験、先ほどトライすると絶対参照のパスが入るようで困っています。同階層にあるテキストファイルを開くようにしたいので、パスは相対形式「./~~.txt」としたいのですが、できませんか?

Aベストアンサー

参考までに
>先ほどトライ
 「相対パスを設定している」 にもかかわらず

ポインタを合わせれば
>絶対参照のパスが
          「表示される」 ←であれば何も問題ありません。
Windowsがテキストファイルの“今ある場所”を表示しているだけです。

Excelファイルとテキストファイルのあるフォルダを、
フォルダ単位で USBなどにコピー(他の場所へ移動)して確認してみれば分かります。
有効な相対パスとして設定してあれば、他の PCでも関連は崩れません。

Q案内先は英語で?

こんにちは、
「案内先」を英語でどのように訳した法が分かりやすいでしょうか?
「番号案内先」等です。
よろしくお願いいたします。

Aベストアンサー

案内先・・番号案内先・・
うーん、わたしの非力な国語力では、何のことか、イマイチわかりませんでした。
2つ3つほど、例文をつけてもらえないでしょうか。

似たような感じのものですが、お役に立つかもしれませんので、
つけておきますね。

directory assistance
(電話番号案内)

The telephone number you have requested is XXX-XXX-XXXX.
(お問い合わせの電話番号は、XXX-XXX-XXXXです。)

Q元データを変更した際、参照先も自動変更したい

エクセル2010を使用しています。
おそらく、基本的なことが理解できていないのだと思いますので、どうぞ宜しくお願いします。

現在、1文書中で複数のシートを使って、封筒宛名印刷をしています。
シート1には、宛名名簿
シート2には、実際の印刷ページ(シート1のデータから「リンク貼り付け」をしています)
シート3には、当月に使用しない宛名名簿
を設定しています。

シート1の名簿は、ほとんど毎月変更がないのですが、たまにはあります。
その際、名簿から切り取り、シート3に貼り付けておきます。
これは、後で戻す可能性があるので、削除でなくこのシートに貼り付けという形を取っています。
そして、シート2を見ると、移動した人のリンク先がシート3に変わってしまっています。
なので、1件1件手作業でリンク先を訂正しています。これではかなり非効率的です。
パソコンに詳しい人に聞いたのですが、「マスター登録をしてそのマスターを引っ張ってくればよい」とのことです。しかし、そのマスターがよくわかりません。
その方の説明はあまりに速くて、私には理解不能なのです。
どなたか、簡単に分かるやり方などご存じでしたら、宜しくご指導ください。

エクセル2010を使用しています。
おそらく、基本的なことが理解できていないのだと思いますので、どうぞ宜しくお願いします。

現在、1文書中で複数のシートを使って、封筒宛名印刷をしています。
シート1には、宛名名簿
シート2には、実際の印刷ページ(シート1のデータから「リンク貼り付け」をしています)
シート3には、当月に使用しない宛名名簿
を設定しています。

シート1の名簿は、ほとんど毎月変更がないのですが、たまにはあります。
その際、名簿から切り取り、シート3に貼り付けておきます。
...続きを読む

Aベストアンサー

元データを変更した際、参照先も自動変更したい とのことですね。
現在はシート2のあるセルに例えばシート1のA2セルを表示させるとして=Sheet1!A2のような式が入力されているのでしょう。
そのような場合にシート1のデータをシート3に移した場合には式そのものがシート3を参照する式に変わってしまいますね。そのようなことがおこらないようにするないためにはシート2に入力する式を次のようにするのがよいでしょう。

=INDEX(Sheet1!A:A,2)

この式はシート1のA列で2行目のセルの位置を指定している式です。また次のような式でも同じですね。

=INDEX(Sheet1!A:B,2,1)

この式はシート1のA列とB列の範囲で2行目でしかも1列目のセルの位置を指定する式です。A2セルを指定しています。

又は、次のような式でもよいですね。

=INDEX("Sheet1!A2")

この式はシート1のA2セルを指定しいます。

他にはOFFSET関数などもあります。
いずれの式もシート1でのセルのある場所を指定していますので、その場所にあったデータが削除され、行ごとシート3に移動しても=Sheet1!A2と同じようことにはなりません。
つまりは現在シート2で使われている式を上で述べたような式に変更すればよいでしょう。一度ぜひ試験してみてください。

元データを変更した際、参照先も自動変更したい とのことですね。
現在はシート2のあるセルに例えばシート1のA2セルを表示させるとして=Sheet1!A2のような式が入力されているのでしょう。
そのような場合にシート1のデータをシート3に移した場合には式そのものがシート3を参照する式に変わってしまいますね。そのようなことがおこらないようにするないためにはシート2に入力する式を次のようにするのがよいでしょう。

=INDEX(Sheet1!A:A,2)

この式はシート1のA列で2行目のセルの位置を指定している式です。ま...続きを読む

Q受託先、委託先を英語でどういいますか?

受託先、委託先
受託製造、委託製造 
受託、委託

を英語でどういいますでしょうか?
(OEMやODMではなく。。。別の表現で。。。)

受託先 contracted (outsourced) company?

委託先 contracting (outsoursing) company?

教えて下さい!! よろしくお願いします。

Aベストアンサー

受託先(者) = Consignee
委託先(者) = truster consignor client

受託製造 = Manufacture on Assignment
委託製造 = Commissioning Manufacture

受託 = Contract
委託 = Consignment

上記は全て「JST科学技術用語日英対訳辞書」に掲載されていた訳語です。
http://ejje.weblio.jp/cat/jstkg

一般には受託者のことを "Outsourcee"、委託者のことを "Outsourcer" と呼ぶと思います。

Qエクセル ハイパーリンク先を表示させたくない。

列Aに文字が入っていて、その文字をクリックするとあるURLにハイパーリンクしています。

この文字にポインターを当てると、リンク先URLや説明文が自動で表示されます。

クリックの前に自動で表示されるこの説明文を出さないようにする方法を教えてください。
エクセル2003です。

よろしくお願いします。

Aベストアンサー

どうも、自動ヒント自体を消すことはできないみたいですね。

右クリック→ハイパーリンクの編集→右上の「ヒント設定」ボタンを押す
→メッセージ欄にスペースを入れる→OK

で、四角は出ますが文字はなくなります。これで如何でしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング