プロが教えるわが家の防犯対策術!

いつもありがとうございます。

今まで普通に作動していたマクロが急に誤作動するようになりました。

具体的にはマクロでの作業中、
計算式をフィルダウンする部分があるのですが、突然、フィルダウンしたところがすべて一番最初のセルの計算値を表示するようになりました。
計算式自体はしっかりフィルダウンされており、各セルをダブルクリックすると正確な値を表示するんですが、これはどのように直せばよいのでしょうか。

いままで通常に動いていただけにショックです。

該当部分のマクロはこんな感じです

Range("A2").Select
ActiveCell.FormulaR1C1 = _
"=TRIM(IF(RC[1]=""CP-MAN "",""CP admin"",IF(RC[1]=""0 "",""CP admin"",RC[1])))"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A1000"), Type:=xlFillDefault
Range("A2:A1000").Select


原因を推察していただけると大変助かります。
よろしくお願いします。

A 回答 (2件)

マクロの一部の式を次のようにしてみてください。



ActiveCell.FormulaR1C1 = _
"=TRIM(IF(RC[1]=""CP-MAN"",""CP admin"",IF(TRIM(RC[1])=""0"",""CP admin"",RC[1])))"

お示しの式ではCP-MANの後にスペースが入っていますね。取りましょう。また、RC[1]が文字列の0で表示するようになっていますのでTRIM関数を使って文字列にしています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
計算方法がマニュアルだったのが原因のようでした。
今後もよろしくお願いいたします。

お礼日時:2011/02/28 23:08

「計算方法」が「手動」になっていると思います。


「Excelのオプション」を開き「計算方法」を「自動」にすれば治ると思います。

試しに、上記操作を「新しいマクロの記録」すると下記コードが得られました。
Application.Calculation = xlAutomatic

因みに「手動」設定は下記になります。
Application.Calculation = xlManual
    • good
    • 0
この回答へのお礼

できました!!
ありがとうございます。
でも、作業しているうちに計算方法が「自動」から「手動」に代わってしまうことがあるのでしょうか。
不思議です。

本当にありがとうございます。

お礼日時:2011/02/28 23:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!