プロが教える店舗&オフィスのセキュリティ対策術

よろしくお願いします。いつもgooの皆さんには大変お世話になっております
win8.1でエクセルは2013です

Private Sub Worksheet_Change(ByVal Target As Range)内のマクロです

マクロでセルに式を書き込みたいのですがエラーになってしまいます
一度使った書き方はメモを見てすぐかけるのですが
初めてのスタイルだと書けません
&でつなげるのに規則がありますが、頭で整理できていません

TRはTarget.Rowのことで宣言済みです
Dim TR As Long
TR = Target.Row

書きたいのは
BKのTRからBTのTRまでの合計を求めてエラーならERRと表示する
です
以下をどう直せばよいでしょうか?
教えてください

Range("BI" & TR).Formula = "=IFERROR(SUM(BK" & TR & ": BT" & TR )",""ERR"")"

A 回答 (1件)

こんばんは。



Range("BI" & TR).Formula = "=IFERROR(SUM(BK" & TR & ": BT" & TR )",""ERR"")"
   ↓
Range("BI" & TR).Formula = "=IFERROR(SUM(BK" & TR & ": BT" & TR & "),""ERR"")"

後ろのTRの後の「 & "」 が抜けているようです。

本格的なマクロするなら、数式を入れるのではなくて、SUMの値を変数に入れたほうがよいですね。
その値は、Variant 型にしておけば、エラー値も取れますから、エラーになったら、ERRの文字を代入すれば、Formula で数式を入れる必要はありませんね。
    • good
    • 0
この回答へのお礼

こんばんは
深夜に教えていただきまして感謝いたします
お陰様で問題が解決しました
ありがとうございました

お礼日時:2015/11/22 02:00

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