• ベストアンサー

面積表の作成について

面積表をExcelで作成したいのですが上手くいかないことがあります。 計算式を入力した隣のセルに計算結果のみ出るようにしたいのですが出来ませんか? 隣のセルに「=(隣のセルの計算式をコピー)」すれば出来るのですが計算式を変更した時に隣のセルも自動的に計算してくれるようにしたいのです。 計算式をコピーせずにする方法があれば教えて下さい。 よろしくお願いします。 Excel2000を使用しています。OSはWIN98です。

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

  • ベストアンサー
  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.4

次のマクロを使ってください。 C1にB1/7を文字列として入れ、その計算結果を D1に入れます。 Sub calcEquation2() Range("c1").Select Selection.NumberFormatLocal = "@" '選択セルの表示形式を文字列に設定 Selection = Range("b1") & "/7" Range("d1").FormulaR1C1 = "=" + Selection End Sub 前に回答したマクロの中に Sub~End Subで囲まれた部分をコピーして もらえれば、一度に処理できます。

yosaku
質問者

お礼

完璧です。すばらしいです。 思っていた通りになりました。 本当にありがとう。ございました。 マクロを少し勉強しようと思います。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.3

補足有難うございます。 マクロが初めてだそうですので、内容を少し解説させていただきます。 Dim myEquation As String 'myEquationという「入れ物」を用意します '中には文字(String)を格納します myEquation = Range("a1") 'myEquationにセルA1の内容を入れます 'ここでmyEquationに「3+4」が入ります myEquation = "=" + myEquation 'myEquationの内容に「=」を付け足します 'ここでmyEquationに「=3+4」が入ります Range("b1").FormulaR1C1 = myEquation 'セルB1にmyEquationの内容を入れます >ただ、1つだけだとこのマクロを実行すれば出来るのですが。2つ3つと増えてきた場合どのように書き足せばいいのでしょうか? 下の3行セットをEnd Sub の上に必要なだけ コピーされるとよいと思います。 (a1,b1の部分を適宜変えてください) ------ myEquation = Range("a1") myEquation = "=" + myEquation Range("b1").FormulaR1C1 = myEquation ------ >次の計算式を「(計算で出た答え)/7」 みたいにセルに挿入は出来ませんか? たとえば、 Range("c1")=Range("b1")/7 を Range("b1").FormulaR1C1 = myEquation の下に書き加えてくだされば可能だと思いますが、 このようなことですか? なお、[ツール]->[マクロ]->[マクロ] のオプションでショートカットを登録できます 便利ですよ。

yosaku
質問者

補足

本当にありがとうございます。 大変助かりました。 恐縮ですが、あとひとつ、お願いします。 「(計算で出た答え)/7」の部分なのですが、いきなり答えではなくて出た答えを使って 式を作ってセルに挿入したいのですが出来ませんか?そんな便利なことが出来るとすごく便利なのですが・・・・・ ちなみに、なんとかショートカットもできました。

すると、全ての回答が全文表示されます。
  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.2

以下のマクロを使ってみてください。 (使い方がわからない等、何かあれば また、補足ください) ------------- A1に3+4などと、式を入力し、マクロを 実行すれば、B1に答えが表示されます。 Sub calcEquation() Dim myEquation As String myEquation = Range("a1") myEquation = "=" + myEquation Range("b1").FormulaR1C1 = myEquation End Sub

yosaku
質問者

補足

ありがとうございます。 マクロは初めてですが上手く出来ました。 ただ、1つだけだとこのマクロを実行すれば出来るのですが。2つ3つと増えてきた場合どのように書き足せばいいのでしょうか? マクロを書いておいて表を増やして実行すれば必要な部分だけ計算され記入のないところはそのままになるのでしょうか? あと、計算で出た答えを更に割り算したいのです。 次の計算式を「(計算で出た答え)/7」 みたいにセルに挿入は出来ませんか? よろしくお願いします。

すると、全ての回答が全文表示されます。
  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.1

セルに計算式を入力するのではなく、セルには数字だけを 入力するように設計を変えたほうがよいのではないでしょうか? 不要な欄は数値としてゼロを入力するようにすれば、集計に 反映されないので目的を達成できると思いますが、いかがでしょう?

yosaku
質問者

補足

アドバイスありがとうございます。 不要な欄はゼロで入力とのことですが作った表をCADに取り込む関係上、計算式をそのまま入力したいのです。 ゼロを入力するセルがあるとその部分が空白になってしまいます。計算式も形が複雑な場合と単純な場合で式の長さが変わったり四角形のみの場合や三角形、扇形など組み合わせも様々です。 そのような場合は、どうしたらいいでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A