こんにちは
VBAがOKならば、方法は2つあります。
1.1行ずつチェック
単純に一行ずつ判断しながらコピーを行います。
Sumple1 がそのサンプルプログラムです。
2.オートフィルタ
オートフィルタで金額が0でない科目だけを抜き出します。
これをコピーしてSheet2に貼り付けると、抜き出された結果だけが張り付きます。
Sumple2 がそのサンプルプログラムです。ほとんどマクロの記録です。
サンプルプログラムは、#1のtom04さんの図を対象に作ってあります。
Sub Sumple1()
Dim Line1 As Long
Dim Line2 As Long
Dim LastLine As Long
ThisWorkbook.Activate
Worksheets("Sheet2").Select
Cells.ClearContents
Range("A1") = "科目"
Range("B1") = "日付"
Range("C1") = "残高"
LastLine = Worksheets("Sheet1").Range("A65536").End(xlUp).Row
Line2 = 2
For Line1 = 2 To LastLine
If Worksheets("Sheet1").Cells(Line1, "C") <> 0 Then
Cells(Line2, "A") = Worksheets("Sheet1").Cells(Line1, "A")
Cells(Line2, "B") = Worksheets("Sheet1").Cells(Line1, "B")
Cells(Line2, "C") = Worksheets("Sheet1").Cells(Line1, "C")
Line2 = Line2 + 1
End If
Next
End Sub
Sub Sumple2()
Sheets("Sheet1").Select
Range("A1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="<>0", Operator:=xlAnd
Cells.Select
Selection.Copy
Sheets("Sheet2").Select
Cells.Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Sheet1").Select
Selection.AutoFilter
Application.CutCopyMode = False
Range("A1").Select
End Sub