エクセル2007 行を挿入すると式の一部がずれる
エクセル2007の行挿入の件で困っています。
行の挿入をすると式がずれてしまいます。
式はHの列の下記の式が入っています。
インターネットで検索をしてVBAに追加をして行挿入しても
式が反映されるようになりましたが行挿入すると式がずれて
しまいます。
どなたかお力をお貸しください。
H4=IF(B4="","",H3+D4-F4)
H5=IF(B5="","",H4+D5-F5)
H6=IF(B6="","",H5+D6-F6)
↓
H4=IF(B4="","",H3+D4-F4)
H5=IF(B5="","",H4+D5-F5)
H6=IF(B6="","",H4+D6-F6)←H4になって、H5にならない。
H7=IF(B7="","",H6+D7-F7)
VBAで設定した項目
------------------------------------------------------
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Rem 挿入行に数式のみコピー
Rem 変数宣言
Dim c As Range
Rem 対象範囲のセル数チェック
If Target.Columns.Count < 256 Then Exit Sub
Rem 対象範囲の列数をチェック
If Target.Rows.Count > 1 Then Exit Sub
Rem 対象範囲の各セルに対しループ
For Each c In Target
Rem 列番号が2及び4のとき一つ上の行の内容を複写
If c.Column = 2 Or c.Column = 4 Then c.Value = c.Offset(-1, 0).Value
Rem 上の行の内容が数式っぽいときはその内容を複写
If c.Offset(-1, 0).Formula Like "=*" Then
c.Offset(-1, 0).Resize(2, 1).Formula = c.Offset(-1, 0).Formula
End If
Next c
End Sub
------------------------------------------------------