• ベストアンサー

excel 数式に含まれている名前を置換するには、

こんにちは、 excelで、別EXCELからリンク貼り付けした数式に含まれているセルがあります。その数式内にあるファイル名を置換したいのですが、多数のセルがあるので一揆にできないかと考えています。何かいい方法がありましたら教えてください。 例) faile01.xls    file02.xls(参照元) A1:「\file02.xls\A1」 A2:「\file02.xls\A2」 A3:「\file02.xls\A3」 という数式が入っている。 上記で、使途全体より数式内にあるfile02.xlsを一気にfile03.xlsに変更する。 よろしくお願いします。 A1:

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

エクセルの後のバージョンでは置換で式の中の文字列も 置換してくれるようになったのではないかと思いますが VBAでやって見ました。1例では旨く行きましたが Sub test02() Dim cl As Range t = "'C:\My Documents\[aaa.xls]Sheet1'!" s = "'C:\My Documents\[b2.xls]Sheet1'!" For Each cl In Selection If cl.HasFormula Then p = InStr(cl.Formula, s) If p = 0 Then GoTo p01 sl = Len(s) fl = Len(cl.Formula) p1 = InStr(cl.Formula, "!") cl.Formula = "=" & t & Mid(cl.Formula, p1 + 1, fl - sl) ' MsgBox cl.Formula End If p01: Next End Sub 置換前の式が含まれているセル範囲を、範囲指定して 上記を実行してください。 ツール-マクロ-VBEでVBE画面になり、そこのメニューの挿入-標準モジュールで出てくる画面に、上記を 貼りつけ、置換前の式が含まれているセル範囲を、範囲指定して、メニューの実行をクリック。

その他の回答 (4)

  • miwaki
  • ベストアンサー率36% (14/38)
回答No.5

#3の回答でよいのですが、この操作に先立ち、file03.xlsを読み込んでおくことをお勧めします。どこかのドライブに入ったままでもできないことはありませんが、ものすごく時間がかかることがあります。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#2です。 #3の方の教えていただいたマクロの記録は、下記の通りでした。こちらの方がよりVBAらしいので、上げておきます。操作の途中でSheet名を聞いてくるのだが 下記には現れてないのだが、 Application.Worksheets("sheet1").Activateと限定も 出来るようです。 またリンク情報の入っているセルがないときは、編集-リンクの設定が開けないようです。 Sub Macro1() ActiveWorkbook.ChangeLink Name:="C:\My Documents\aa1.xls", NewName:= _ "C:\My Documents\aa3.xls", Type:=xlExcelLinks End Sub

回答No.3

編集/リンクの設定/リンク元の変更ボタンをクリックし、 リストからfile2.xlsを選択すれば変更できます。

  • OMP
  • ベストアンサー率23% (132/553)
回答No.1

文字通り「置換」すればいいんじゃないですか? 置換する場所を複数選択してCtrl+Hで置換画面を開いて 検索:file02 置換:file03 で、すべて置換すればできませんか?

関連するQ&A

  • エクセルの数式の置換

    エクセルの数式の置換 FileAの数式をFileBにコピーしたのですが、「FileA」の書式が残ってしまい、それを置換しようとしてもうまくいきません。 串刺し計算の数式 =SUM('[FileA.xls]Sheet1:Sheet4'!セル)を FileBの中で =SUM('Sheet1:Sheet4'!セル) となるように置換したいのですが、どのようにすればいいでしょうか?

  • Excelの数式コピー

    お世話になります 過去の質問とちょっと違うので、新規に質問させてください。 XXX.xlsにはシートAAA、シートBBBがあり、 シートBBBにはシートAAAへの参照や数式が多数記載されています。 YYY.xlsにもシートAAA、シートBBBがあり、 シートBBBにはシートAAAへの参照や数式が多数記載されています。 YYY.xlsのシートBBBにXXX.xlsに定義されているのと同じ式を範囲指定でコピーしたいのですが、 「型式を選択して貼り付ける」の「数式」を選んでも、 各セルの参照が下記の様にXXX.xlsを参照してしまいます。 ='[XXX.xls]AAA'!F21 自分のファイル(YYY.xls)のシートAAAを参照するように、純粋に式だけを範囲指定でコピーする方法を教えていただけないでしょうか。

  • エクセルで複数ファイルのセルの数式を一部置換

    同じフォルダ内にある複数のエクセルファイルを1セルの一部分の数式を一括で置換したいのですが・・・ 例えば =int(sum(a1:a10))→=int(average(a1:a10)) sumをaverageに置換可能なのでしょうか? ファイルが大量にあるため全部のファイルをまとめて置き換えが出来ればと思いまして!よろしくお願いします。

  • EXCEL 置換について

    教えてください。 日報を作るため、外部ファイルを参照した数式を使ったファイルを作成しました。(日報フォルダの中に個人名ファイルと月間集計ファイルがあります。月間集計ファイルから個人名ファイルを参照しています。) 1.月間集計ファイルを開くと「このブックには、安全でない可能性のある外部ソースが1つ以上含まれています。」とメッセージが表示されます。 リンクの編集から値の更新を選択し、OK表示がされても、次回は必ず不明になります。 起動時の確認で「メッセージを表示しないで、リンクの自動更新を行う」にすれば表辞されなくなりますが、気になります。 2.職場で使用したいのですが、セキュリティーのためファイルを無害化するサイトを通してからパソコンに入れるのですが、外部リンクがある数式は削除されてしまいます。 そこで数式をいったん文字列(=を’=に)置換し、それをまた数式に戻すために’=を=に置換をかけたのですが、一致するデータが見つかりませんとなり置換することができません。 文字列を数式に置換するにはどうすればできるでしょうか。 以上ご存じの方がいらっしゃいましたら、お教えください。

  • エクセル リンク貼り付けについて

    リンク貼り付けについて質問です。 例えば (1)「book1.xls」でA1~A20の合計をA21に出しています。 (2)「book2.xls」のD5というセルに「book1.xls」のA21をリンク貼り付けします。 (3)両方のファイルを保存して一度閉じます (4)「book1.xls」のA20の後に5行挿入します。 ⇒この場合、合計はA26のセルにずれると思うのですが、「book1.xls」を上書きしてから 「book2.xls」を開くと相変わらずA21を参照したままです。 どうにかして自動的に「book2.xls」の方もA26のセルを参照させることは出来ないでしょうか。 判り辛くてすみません。 不可能ならズバッと言って下さい。。 諦めがつきます…(>_<)

  • 別のエクセルファイルからリンクの数式をコピペ

    ファイル1と2があるとして、 それぞれファイルにはシートA、Bがあります。 ファイル1で、シートBにはシートAからリンクがしてあり、 セル内の数式が='シートA'!$D$10というセルがあります。 このセルをファイル2のシートBの全く同じ場所に、 ファイル1と同様に、ファイル2のシートAからリンクしようと ファイル1のセルをコピーして、ファイル2に貼り付けると、 セル内は='[ファイル1.xls]シートA'!$D$10 で、データ自体はファイル1から飛んできてしまいます。 ファイル1の数式そのままをコピーして、ファイル2に 同じ数式になるように貼り付けることは可能なのでしょうか? 誰か御存知でしたら、教えてください。。。

  • Exccl2002 リンク貼り付けの数式を変更したい

    Exccl2002 リンク貼り付けの数式を変更したい Exccl2002を使っているのですが、リンク貼り付けしているセルの式を 関数を使い一括置換したいのですが出来ません。 たとえば、E10 + 1 → E11 ということです。 順不動で各シートのデータ位置も違います。 どうすれば良いのでしょうか。 ファイル名 001.xls  sheet名 001 002 003 以上 3シート より         004の1つのシートにリンク貼り付けでまとめてます。 セル位置 3シートともE列   変更前の式     シート名 004 変更後 [001.xls]001!E2 →  [001.xls]001!E3 [001.xls]002!E3 →  [001.xls]002!E4 [001.xls]003!E2 →  [001.xls]003!E3 [001.xls]001!E10 → [001.xls]001!E11 [001.xls]002!E10 → [001.xls]002!E11 [001.xls]003!E10 → [001.xls]003!E11 [001.xls]001!E15 → [001.xls]001!E16 [001.xls]002!E26 → [001.xls]002!E27 [001.xls]003!E29 → [001.xls]003!E30 その他 300個位あります。

  • エクセルの異なるファイル間の数式リンク

    あるファイルにあるセルから、違うファイルにあるセルへ数式(イコール)をリンクさせると、絶対参照でリンクになりますが、これを相対参照でリンクさせるようにできないでしょうか?宜しく御願いします。

  • 【エクセル】検索と置換で複数の数式の、範囲を変える

    タイトルの件、質問いたします。 下記の2つの数式があります。2つの数式のセルの範囲を →検索と置換を使い、【A3:A14】に変更する事はできますか?? →検索と置換機能ではなくても、OKです。現在は、手入力で全て変更しています。 ●C15セル=SUM(C3:C14) ●D15セル=SUM(D3:D14) ご存知の方、いらっしゃいましたら、宜しくお願いします。」 【エクセルバージョン】 2003 2007

  • エクセルにて 数式を編集したい

    エクセルにて 各セルに数式が入っていますが、 数式の後ろに割る10を追加したいのですが、 一気にできる方法を教えてください。 セル   数式      変更後 A1  =A10     =A10/10 B1  =B10     =B10/10  ・   ・  ・

専門家に質問してみよう