• ベストアンサー

複数のexcelファイル 同一セルの値を一気に変更するには、

こんにちは、同一内容のexcelファイルが複数あります。そのファイルのあるセルの数式を一気に変更するにはどうすればいいのでしょうか? 例) ファイルfile01~file10の10個あるとします。 A1のセルの値を 変更前:=A2:A5 から 変更後:=B2:B5 という風にです。

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

  • ベストアンサー
回答No.1

奇策ですが、以下のような方法でどうですか。 (1)=A2:A5を参照している元データのファイルにA列を挿入(A列を選択し、挿入/列) 参照先のファイルのA列のデータは、B列に移る。 (参照先の数式は=B2:B5となる) ただし、データはもとのデータを参照している状態。 (2)B列に移ったデータを列ごとコピー(必要によってはデータのはいっているC,D...列もコピー)しA列に貼りなおす。 結果、B列にデータが入っていれば、参照先はB列のデータを参照するようになる。 ただし、参照先のファイルを開けていないとうまくいかないようです。

putitpmatp
質問者

お礼

返信が遅れました。アドバイスありがとうございます。 早速試してみます。

その他の回答 (1)

  • tosi0000
  • ベストアンサー率28% (8/28)
回答No.2

対象のexcelファイルを全て立ち上げて、 このマクロを実行して下さい。 全ファイルの全シートの特定セルに対して、 inputboxで入力した計算式がセットされます。 ただし、1つのセルのみしか処理できません。 Sub セルに計算式をセット() Dim MyBooksObj As Object Dim MySheetsObj As Object Dim strRange As String Dim strFormula As String strRange = InputBox("変更するセル番号を入れてください。例:A1", , "A1") strFormula = InputBox("セットする計算式を入れてください。例:=SUM(B1:B2)", , "=SUM(B1:B2)") For Each MyBooksObj In Workbooks For Each MySheetsObj In MyBooksObj.Worksheets MySheetsObj.Range(strRange).Formula = strFormula Next Next End Sub 多分、本当にやりたいこととはズレているかと思います。 上記の方法は単純に計算式をセットするだけです。 ご参考程度にお使い下さい。

putitpmatp
質問者

お礼

返信が遅れました。アドバイスありがとうございます。 MACROの事が分かりました。

関連するQ&A

専門家に質問してみよう