• ベストアンサー

エクセル2000でこんなとき、何か方法ありますか?

エクセルで表を作っています。 ファイル1の「あいうえお」というシートのセルA1からA20に、それぞれファイル2の「あいうえお」というシートのC1からC20にジャンプするハイパーリンクを設定したいと思っています。 つまり、ファイル1のシートあいうのA1はファイル2のシートあいうえおのC1に、 ファイル1のシートかきくけこのA10ならファイル2のシートかきくけこのC10にとぶハイパーリンクを設定したいんです。 1つのシートに貼りたいハイパーリンクは30あり、1ファイルにはシートが15ほどあるので、これを一つ一つ設定していくと、途方もない作業になってしまいます。 フィルやコピーの機能でセルの連続データができるように、なんとかうまくハイパーリンクを貼る方法はないでしょうか? また、できないなら、何とか作業を少なくする方法やアイディアはないでしょうか?

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

  • ベストアンサー
  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.3

またまた#1です。訂正と追加回答です。 まず訂正。 ↓この部分は勘違いですので無視してください。「ファイルB」と誤記もしてしまいました。 「そのほかに思いついたのは」~ 「ファイル2.xlsのあいうえおシートのA列の1行目に飛ぶハイパーリンクです。 」 追加回答です。 整理すると ファイル1 シートあいう A1 ↑ファイル2シートあいうのA1へのハイパーリンク  ファイル2シートあいうのC1を参照   ファイル2 シートあいう A1 データ入力 B1 データ入力 C1 A1,B2からの検索結果(ハイパーリンク無し) これでよいですか? ハイパーリンクをつけるのはファイル1の各シートのA列だけということで。 それなら、ファイル1 シートあいうのA1には、 =HYPERLINK("ファイル2.xls#あいう!A"&ROW(),[ファイル2.xls]あいう!C1) とすればできます。 ,(コンマ)以降の部分は、参照先ブックのセルをクリックしてENTERキーを押せば指定が簡単です。 すると絶対参照$C$1になってしまいフィルコピーがきかないので、ご自分でC1というかたちになおしてください。 あとは#1で書いた「コピー」と「置換」をすればうまくいくでしょう。

pero1234
質問者

お礼

何度も回答ありがとうございます。そのとおりです。量の多さに途方にくれていたのですが、おかげでなんとかなりそうです。エクセルはけっこう使えるつもりでしたが、まだまだできることはたくさんあるようですね。勉強します。

その他の回答 (4)

  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.5

>右上とはどこなんでしょう?探してみたのですが >・・・場所がわかりませんでした。 左上の間違いでした。 それと、シート名タブ(Sheet1)を右クリックすると、Sheet1(Sheet1)のOption Explicit がでるので、Sheet1(Sheet1)をダブルクリックする必要はありませんでした。

pero1234
質問者

お礼

どうもありがとうございました。マクロ便利ですね。まだ、記録したものを少し修正するくらいのことしかできないので、これからぜひ覚えていきたいです。

  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.4

>ファイル1のA1をクリック→ハイパーリンクによりファイル2 >のシートあいうえおのA1にとぶ→そこと隣のB1にデータを記入 ここの部分だけをマクロで書いてみました。 ファイル1の 使用しているシート名タブ(Sheet1とかSheet2)を右クリックし、「コードの表示」を選択します。 右上の、Sheet1(Sheet1)をダブルクリックします。 Option Explicit がでるので、その下に'***から'***までをコピーし貼り付けします。 '*** Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim www1 As Integer Dim www2 As Integer If Target.Column <> 1 Then Exit Sub If Target.Row > 20 Then Exit Sub www1 = Target.Row www2 = Target.Column Windows("ファイル2.xls").Activate Sheets("あいうえお").Activate Call aaa(www1, www2) End Sub '*** つぎに[挿入]→[標準モジュール] Option Explicit がでるので、その下に'***から'***までをコピーし貼り付けします。 '*** Sub aaa(www1 As Integer, www2 As Integer) Cells(www1, www2).Select End Sub '*** 実行方法 ファイル1とファイル2を開いておく ファイル2には、"あいうえお"という名のシートを作っておく ファイル1のSheet1のA1:A20のどれかをクリックすると、自動的に、ファイル2の、"あいうえお"のA1:A20に移動する。 この方法で、ファイル2から、ファイル1に戻ることもできます。

pero1234
質問者

お礼

回答どうもありがとうございます。マクロは便利ですね、とても早くできそうです。  >右上の、Sheet1(Sheet1)をダブルクリックします   Option Explicit がでるので、その下に'***から'***までをコピーし貼り付けします。 とありますが、右上とはどこなんでしょう?探してみたのですが・・・場所がわかりませんでした。

  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.2

#1です。遅れてすみません。 >ROW関数の()内は何を入れてもいいということなんでしょうか? すみません。私の意図した式の場合、()の中に何も入れなくても大丈夫みたいです。row()のままでOK。 参考になりそうなページ調べていたら、そう書いてありました(恥) http://arena.nikkeibp.co.jp/tec/excel/gaz/56/ >ファイル2は、ファイル1の表の項目のうち1つの項目の詳細を別表にしたもので、 ファイル1のA1をクリック→ハイパーリンクによりファイル2のシートあいうえおのA1にとぶ→そこと隣のB1にデータを記入→その計算結果であるC1のセルの値がファイル1のA1に表示される hyperlink関数は hyperlink("ハイパーリンク先(URL等)",表示する文字) とでき、今回は「表示する文字」を省略しましたが、 ここに関数も入れることができるようです。 例えばこんな具合に。 =HYPERLINK("ファイル2.xls#あいうえお!C"&ROW(),SUM(A2:A3)) こうすると、sum(A2:A3)の計算の結果を表示できます。 そのほかに思いついたのは、 ファイルBのA列に列を挿入し、ハイパーリンクのリンク先をそこにするという方法です。挿入した列を非表示にしておけば、見た目もいままでと変わりません。 =HYPERLINK("ファイル2.xls#あいうえお!A"&ROW()) ↑ ファイル2.xlsのあいうえおシートのA列の1行目に飛ぶハイパーリンクです。 あとは、マクロを使って、 ファイル1のアクティブなシートのアクティブなセル(ファイル1の開いているシートのカーソルがあるセル)から、シート名(A)とセル番号(B)を取得して、ファイル2のシート名(A)のセル番号(B)のセルに飛ぶこともできそうですが、マクロは初心者なので自信なしです。

参考URL:
http://arena.nikkeibp.co.jp/tec/excel/gaz/56/
  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.1

pero1234さんこんばんは。 ハイパーリンク関数を使うとうまくいきそうです。 http://arena.nikkeibp.co.jp/tec/excel/gaz/190/ ファイル1のあいうえおシートのA1セルに以下を入れます。 =HYPERLINK("ファイル2.xls#あいうえお!C"&ROW(E1)) これをA20までドラッグコピーします。 A1~A20を選択してコピーし、 かきくけこシートにコピーします。 コピーしたら 編集 > 置換で、ハイパーリンク内の あいうえお を かきくけこ に置換します。 残りのシートに対して同じ要領で作業します。 ※ファイル名の部分は同じフォルダならパスを指定しなくてもうまくいきました(excel2002)。別のフォルダならば、直して指定してください。 ※ROW関数で同じ行の行番号を参照して、その結果連番コピーを実現しています。ROW()のかっこの中は同じ行ならどこでもよいです。 これでうまくいくと思います。 今日はもう寝るので何かあれば明日ということで。

参考URL:
http://arena.nikkeibp.co.jp/tec/excel/gaz/190/
pero1234
質問者

補足

回答ありがとうございます。ハイパーリンク、関数でも設定できたんですね。知りませんでした。 書くのを忘れてしまいましたが、今回ハイパーリンクを設定したいセルにはすでに別の関数が入っているんです。ファイル2は、ファイル1の表の項目のうち1つの項目の詳細を別表にしたもので、 ファイル1のA1をクリック→ハイパーリンクによりファイル2のシートあいうえおのA1にとぶ→そこと隣のB1にデータを記入→その計算結果であるC1のセルの値がファイル1のA1に表示される ・・・・ややこしいけどこんな流れにしたかったため、すでに関数を書き込んじゃっているんで、せっかくのハイパーリンク関数なんですけど、私にはうまく使えません(泣) なんにせよ、教えていただいたことは別の場所で活用させていただきます、ありがとうございます。ROW関数の()内は何を入れてもいいということなんでしょうか?

関連するQ&A

  • エクセルのハイパーリンクを教えてください。

    エクセルのハイパーリンクを教えてください。 Sheet1のA1選択→挿入→ハイパーリンク→「このドキュメント内」→「Sheet2!B2」 でハイパーリンクを設定したのですが、 同様に、 Sheet1,A2クリックで、Sheet2,B3が。Sheet1,B2クリックで、Sheet2,C3が。 Sheet1,A3クリックで、Sheet2,B4が。Sheet1,B3クリックで、Sheet2,C4が。 Sheet1,A4クリックで、Sheet2,B5が。Sheet1,B4クリックで、Sheet2,C5が。 Sheet1,A5クリックで、Sheet2,B6が。Sheet1,B5クリックで、Sheet2,C6が。 と、範囲を広げる際には、セル一つずつを設定品けらばならないのでしょうか。単純にオートフィルはできないようですが、簡単な方法を教えてください。 よろしくお願いします。

  • EXCELのハイパーリンクのセルを探す方法

    いつもお世話になります。コピーしてきたEXCELファイルを自分用に編集したのですが、どうやら前にハイパーリンクが設定されたらしく、ファイルを開く度にリンクについての質問をされます。ハイパーリンクを消したいのですが、シート数が19ページもあり、どのシートのどのセルに設定されているのかがわかりません。 全ページを"HYPER"で検索したのですが、ハイパーリンクの設定されているセルはありませんでした。ハイパーリンクの設定されているセルを探す方法をご存知の方がいらっしゃいましたら、アドバイス宜しくお願い致します。

  • エクセルシートのウィンドウ枠の固定について

    ■エクセルのファイルに次のマクロを設定し、ファイルを開くたびに「目次」のシートが表示されるようにします。 Private Sub Workbook_Open() Sheets("目次").Activate End Sub ■この目次のシートに目次を作成し、それぞれの目的のシートにハイパーリンクでジャンプするようにします。 「目次」のシートのそれぞれのセルに、目的のシートのセルA1をハイパーリンクする。 ■目的のシートでウィンドウ枠の固定を行う(6行目) --------------- このような設定下で、このファイルを新たに開くと、必ず「目次」のシートが表示され、目次の中から目的のシートを表示したセルのハイパーリンクをクリックすると、目的のシートにジャンプします。 ところが、ウィンドウ枠(6行目)が固定してあり、普通前回閉じた行から表示されるはずですが、 たとえば、 事例(A) 1 2 3 4 5 --- 100 101 102 ですが、実際に新たにファイルを開いて、目次からジャンプすると、 事例(B) 1 2 3 4 5 ---- 6 7 8 9 となって枠の設定のない状態と同じ状態で表示されます。 これを、前回閉じた事例(A)の状態で再表示されるようにしたいのですが、何が悪くて枠の固定が当初の状態に戻るのかわかりません。 何かの設定が不適切なのだと思います。 教えてください。

  • excelのハイパーリンクについて教えてください

    ファイル名:シート1のA列に曲名を入力して、そのセルにハイパーリンクを設定して動画が動くように指定しています。 新しくファイル名:シート2を作り、その中のセルに =[シート1.xls]Sheet1!$A$1 と入力しているのですが、曲名は取り込めるのですが、ハイパーリンクの情報が取り込めません。 シート2にシート1で指定した曲名とハイパーリンク情報を取り込む方法があればお教え下さい。 エクセルのバージョンは2002を使用しています。 全くの素人ですが宜しくお願い致します。

  • エクセルで15行おきにジャンプしたい

    エクセル2010で、例えばA1から10行x10列の100マスに名前が書いてある表の名前をクリックすると、A15行目から下に15行おきにジャンプするようにしたいのですが、ハイパーリンクで100回作業しないで何とかしたいのですが。 更には別のシートにもジャンプ出来れば目次のシートから、目的のシートの目的のセルに一発ジャンプ出来ればありがたいのですが。

  • エクセルで、オートフィルで、~個おきに参照するなどの数式を簡単に入力する方法について

    エクセルのオートフィルの仕方で、分からない点があり、お教え下さい。例えば、A1からZ1までのセルに、ランダムな数値がはいっているとします。A2に”=A1”、B2に”=C1”、C2に”=E1”、D2に”=G1”などのセル参照の数式をいれるときは、A2に”=A1”と入力した後、オートフィルのように簡単に連続して1個おきの次のセル参照(B2に”=C1”、C2に”=E1”・・・)を入力する方法はあるのでしょうか。つまり”~個おき”のセル参照を連続入力(オートフィル)する方法をお教えいただけないでしょうか。宜しくお願いします。

  • エクセルのハイパーリンクの設定方法

    エクセルのセルにハイパーリンクを設定し、ネットワークドライブ上にある別のエクセルファイルに対しシートとシート内のセルを指定してリンクを貼りたい。 ネットで調べて、ファイルを指定するところまではできましたが、シート、シート内のセル指定の方法が分かりません。 アドバイスください。

  • エクセル・ハイパーリンクの質問

    よろしくお願いします。 仕様環境 WinXP/SP2 エクセル2002 エクセルを使ってマニュアルを作っているのですが、 目次シート(sheet)を作り、各項目にハイパーリンクを貼って 他のsheet(マニュアル)に飛ぶようにしています。 ここで2つ問題があります。 1つめは、ハイパーリンクでジャンプする時、「クリック」すると目的の sheet(マニュアル)のセルにジャンプします。 それを「クリック」ではなく「ダブルクリック」でジャンプするように したいのですがどうすればよいのでしょうか? 「クリック」だとちょっと触っただけでも飛んでしまうので、 一拍空けたいのです。 2つめはハイパーリンクでsheet(マニュアル)のセルにジャンプした時、 必ずその目的のセルを一番左上にもってくるようにしたいのですが、 できません。 マクロで記録したりもしたのですが、最初の1回目はできるのですが、 他の操作を行ったりして、改めて行うと必ずしも一番左上になりません。 具体的にいうと例えばセル番号A101を一番左上にしたいのですが、 左下に表示されてしまいます。 ハイパーリンクのジャンプはうまくいくもののとんだ先が、 左下に表示されてしまうのは見栄えもよくありません。 どうすれば、常に一番左上に表示されるようになるのでしょうか? ご指導宜しくお願いします。 PS 添付ファイルを貼り付けました、 私の説明がわかりづらい場合もありますので、ご参照頂ければと思います。

  • エクセルでシート名を連続で参照するには

     エクセルの「1」「2」「3」…のように連続するシートのそれぞれのシートにあるセルA1を、同じファイル上の「集計」シートのA1、A2、A3…のように、下へと参照したいのです。  このとき、「集計」シートのA1セルには、「='1'!$A$1」を入力しますが、その後このセルからスタートして、オートフィルで下方向へ参照したいのですが、実際は「='1'!$A$1」「='1'!$A$1」…と「1」シートのセルが参照されます。  オートフィルなどを用いて「集計」シートのA1から下方向へ、「='1'!$A$1」「='2'!$A$1」「='3'!$A$1」…のように満たしていく場合、どのようにしたらいいでしょうか。  手入力すればいいのですが、数が多くてとても大変です。どなたか、簡単に満たす方法をお教えください。よろしくお願い申し上げます。

  • エクセル ハイパーリンクについて

    エクセル ハイパーリンクの設定について教えてください。 Excel のハイパーリンクで「(1)このBook(ファイル)の、(2)このSheetの、(3)このセルに」リンクするという 設定方法は分かるのですが、(3)のこのセルに、という部分で「この文字が入力されているセルに」リンク という細かい設定は出来るのでしょうか? 例) A1をクリックすると、別ファイル別シートの「確認」という文字列が入力されているセルにリンクする。 該当のセルが複数ある場合はどのセルでもOK。(出来れば一番上にあるセルがベストですが) 色んな書籍を漁ってみたのですが、とうとう分かりませんでした。 エクセルに詳しい方、どうか宜しくお願い致します。

専門家に質問してみよう