• ベストアンサー

エクセル98 シート再計算のVBAについて

シート再計算のマクロを作成しようと思っています。 「新しいマクロの記録」を選択して、適当な名前をつけてから、初期設定から「シート再計算」のボタンを押した後に、マクロの記録を終了させました。 そして、記録したマクロを実行しようとしたのですが、エラーが出てしまいます。 Sub 再計算() Application.MaxChange = 0.001 ActiveWorkbook.PrecisionAsDisplayed = False ActiveSheet.Calculate End Sub この中の「Application.MaxChange = 0.001」に異常があると出てしまいます。 そこで、この部分を削除したら上手く動作するようになったのですが、VBAのことについては良く分からないので、この部分を削除しても良かったのかどうか不安です。 アドバイスを御願い致します。

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

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

どういう事情でApplication.MaxChange = 0.001が必要なのか判りませんが。 シートにボタンを1つ貼りつけて、 Private Sub CommandButton1_Click() Application.Worksheets("sheet1").Activate ActiveSheet.Calculate End Sub ではダメなのでしょうか。 正面からの原因説明ではなくて済みませんが。 MaxChangeプロパティは「循環参照が存在する場合、反復計算を行う際の変化の最大値とあります。」 これを積極的に使っておられるのでしょうか。 参考 http://www.jp-ia.com/xlsvba/op_keisanh.htm

cuty_girl
質問者

お礼

御回答ありがとうございます。 >どういう事情でApplication.MaxChange = 0.001が必要なのか判りませんが。 これは、私が記述したのではなく、エクセルが勝手に記述してしまっています。 どこか設定をいじってしまったのかな(ー_ー; 参照先のページを見てみましたが、この記述はなくても良さそうなので、削除して使用することにしました。 ボタンも初めて使ってみるのですが、いろいろと調べてボタン設置にも成功しました(^^) アドバイスして頂き、ありがとうございました。

その他の回答 (1)

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

http://support.microsoft.com/default.aspx?scid=kb;ja;185317 この事象に合致しているかもしれません。 削除して良いかどうかは、私には判断できませんので、他の方のコメントに期待するとして・・。 削除しないで済ますには、上記URLの方法をとるのかも しれません。

cuty_girl
質問者

お礼

御回答ありがとうございます。 エクセル98だけのバグ(?)みたいですね。 いろいろと試してみます。

関連するQ&A

専門家に質問してみよう