• ベストアンサー

Excel 2003 で困っています。

 入力用の表を回転させて、印刷用のやや複雑な表を作っています。   【コピー】→【行列を入れ替える(S)】で、行うと要求される書式に近い表を作成しています。 ところが、セルに入力された式が無関係のセルを参照してしまい、打ち直しで困っています。 予め絶対参照にすると問題が起こらないことが分かりました。 【 =BU8 】 等と入力された数式を一括して  【 =$BU$8 】等に返還する方法を教えてください。  マクロは、「新しいマクロの記録」で、作業を繰り返す程度で、ド素人です。 m(_ _)m

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>入力された数式を一括して  【 =$BU$8 】等に返還する方法 $付きに変えるのに,1つずつのセルについてF4キーを押してくるくると変えていく方法はご存じですね? でもエクセルの一般機能では,原則として複数のセルをまとめて変換する方法はありません。 #参考 ご相談の「その例」に限って言えば,置換で BU を $BU$ に全て置換すれば,出来ます。 あなたがご相談に書かなかった「他のセルはどうなってて,どこまでの範囲をどうしたいのか」に応じて,応用してみてください。 で,まぁ勿論マクロを使えば,どうとでもなります。 作成例: sub macro1()  dim h as range  on error resume next  for each h in selection.specialcells(xlcelltypeformulas)   h.formula = application.convertformula(h.formula,xla1,xla1,xlabsolute)  next end sub 変換したいセル範囲を選択し,マクロを実行します。

ify620
質問者

お礼

 大変ありがとうございます。 忘れそうなので、マクロボタンに登録して、テンプレートとして保存させていただきました。  末永く利用させていただきます。