[[20170614234317]] 『合計金額のチェック』(HIRO) ページの最後に飛ぶ

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

 

『合計金額のチェック』(HIRO)

最終結果として下記の様なシートを作成したい場合の
VBAをどうするのかを教えて頂きたく投稿しました。

   A   B  C  D  E    F    G   H     I 
1 名称  金額 CD1金額1 CD2 金額2 CD3 金額3 CHECK
2 TEST1 1500     1000      500             0
3 TEST2 2000                               0
4 TEST3 1000                               0 
5 TEST4 8000     2000     2000      3000  -1
6 TEST5 7000     1000     4000      2000   0
7
8
9

上記サンプルでは6件のレコードですがチェックを行う
レコード数は変動することが前提です。

列Bの金額に対し列D・列F・列H に入力された金額の合計が
同じかどうかの判定を行い同じであれば列Iに0を表示し
異なっていれば -1 を表示する仕組みを考えていますが
VBAにて記述する場合どの様に考えればいいのかご教授ください。

列D・列F・列H への入力がない場合は無条件に列I は 0となります。

ご回答よろしくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 あまり効率よくなさそうですが

 Sub チェック()

     Dim LastRow As Long, r As Long, goukei As Long

     Application.ScreenUpdating = False

     LastRow = Cells(Rows.Count, 1).End(xlUp).Row

     For r = 2 To LastRow
         goukei = Cells(r, 3).Value + Cells(r, 5).Value + Cells(r, 7)
         If goukei = 0 Or Cells(r, 2).Value = goukei Then
            Cells(r, 8).Value = 0
         Else
            Cells(r, 8).Value = -1
         End If
     Next

     Application.ScreenUpdating = True

 End Sub
(bi) 2017/06/15(木) 06:16

 こういうのはどうだろう!?
    Sub HIRO()
        With Range("I2:I" & Cells(Rows.Count, "A").End(xlUp).Row)
            .Formula = "=SIGN(OR(COUNT(D2,F2,H2)=0,SUM(D2,F2,H2)=B2)-1)"
            .Value = .Value
        End With
    End Sub
(稲葉) 2017/06/15(木) 08:25

biさん 稲葉さん ご連絡が遅くなりすみませんでした。
早々のご回答有難うございます。

頂きました内容を自分なりに紐解いて実行してみます。
(HIRO) 2017/06/15(木) 14:26


コメント返信:

[ 一覧(最新更新順) ]


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