[[20130409170447]] 『マクロで行を削除すると計算が#REF!になる』(ちぃ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロで行を削除すると計算が#REF!になる』(ちぃ)

 いつもお世話になっております。
 以前、こちらで教えていただいたマクロの計算式が入っている
 行を削除するとセルに「#REF!」となってしまいます。
 以前の質問↓
 https://www.excel.studio-kazu.jp/kw/20130321120410.html

 マクロが超初心者なもので、どこを直していいのかわかりません。

 Sub 集計作業2_7()
     Dim z As Long

    Columns("A:I").FormatConditions.Delete
      z = Range("C" & Rows.Count).End(xlUp).Row
      Range("A2").Select 
     With Range("A2:I" & z)
         .FormatConditions.AddType:=xlExpression,Formula1:="=$C2<>$C3"         
      With .FormatConditions(1).Borders(xlBottom) 
            .LineStyle = xlContinuous
            .Weight = xlThin
       End With
     End With

     With Range("I2:I" & z)
         .Formula = "=IF(C2<>C3,SUMIF(" & Range("C2:C" & z) _
         .Address & ",C2," & Range("H2:H" & z) _
         .Address & "),"""")"
     End With

  End Sub

 おそらく、最後のwith〜End withの式をどこか変えなければいけないと思うんですか、
 いじれません・・・

 よろしくお願いします。

  Excel2003です。

 的外れの回答かもしれませんが、削除した行の中に計算に使っているセルが
 あるのではないですか?
 その場合、問題なのはマクロではありません。

 一度結果が出ていて、計算更新の必要がないのであれば、計算式が入っている範囲
 全体をコピーし、そのまま「形式を選択して貼り付け」で「値」にして貼り付けて
 から、行の削除作業を行ってはどうでしょうか。
 (Mook)

 Mookさん

 いつもありがとうございます。
 >削除した行の中に計算に使っているセルがあるのではないですか?

 はい、I列にはすべて計算式を代入するようにマクロを組んでおります。
 結局、エラーを回避するために、再度「集計作業」のマクロを実行するようにしました。

 ありがとうございました。またよろしくお願いします。
 (ちぃ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.