• ベストアンサー

任意の文字列で置換するダイアログ

シート内の関数に記載されている「item」という文字列を 任意に置換するダイアログの作り方で困っております。 シート内には 「='C:\sales\[item.xls]id'!$F$48=0,"",'C:\sales\[item.xls]id'!$F$48))] という関数が入っており、 この「item」を「1200」や「1800」など任意の文字列をインプットボックスに入力し (itemから任意の文字列に)『すべて置換』したいと思っております。 どなたかご存知の方がおいででしたら、ご教示くださいますようお願いいたします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

1.編集-リンクの設定で一括変更 2.INDIRECT関数を使って任意のセルの値で置き換える。 A1 に参照ブック名が入っている場合。 =INDIRECT"'C:\sales\[" & A1 & ".xls]id'!$F$48=0","",INDIRECT"'C:\sales\[" & A1 & ".xls]id'!$F$48"))

azarachi
質問者

補足

$F$48以外にも、ほかのセルを参照している箇所がたくさんあります。 加えて、「item.xls」を書き換える対象もたくさんあるのです。 それでインプットボックスとVBAで解決したいと考えました。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 > 参照するファイルがたくさんあるのです。 > なので、ダイアログをだして…と考えたしだいです。 ちょっと意味を理解出来ません。 置換ダイアログを出すのも、マクロをキックするのも同じだと思いますが、、、 Sub Test1()   Application.Dialogs(xlDialogFormulaReplace).Show End Sub

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

普通に「置換」で出来ると思うのですが、、、 存在しないファイル名やシート名とかにしちゃうと厄介ですが。

azarachi
質問者

補足

ごもっともなのですが、参照するファイルがたくさんあるのです。 なので、ダイアログをだして…と考えたしだいです。