|
オートフィルタしている範囲が、よく解りませんけど、A1からしてあるとし、かつ現金がオートフィルタしてある物として。
こんな感じに。
A B C・・・・
1 XX ▼ XX ▼ XX ▼
Dim Cel As Range, SavAD As String, GK As Long, HK As Long
With ActiveSheet.AutoFilter.Range
SavAD = "I1"
On Error Resume Next
For Each Cel In .Columns("F").SpecialCells(xlCellTypeVisible)
If Cel.Row <> 1 Then
Cel.Offset(, 1).Resize(, 2).SpecialCells(xlCellTypeBlanks).Value = 0
GK = GK + Cel.Offset(, 1).Value
HK = HK + Cel.Offset(, 2).Value
Cel.Offset(, 3).Value = Val(Range(SavAD)) + Cel.Offset(, 1).Value - Cel.Offset(, 2).Value
SavAD = Cel.Offset(, 3).Address(0, 0)
End If
Next
Range("G1").Offset(.Rows.Count).Value = GK
Range("H1").Offset(.Rows.Count).Value = HK
Range("I1").Offset(.Rows.Count).Value = GK - HK
End With
|
|