|Let's say your list of goods is in column A of Sheet1.|
Let's say you are entering a quantity in Column B or C of Sheet1.
Right click the sheet tab for Sheet1 and paste this code into the window that opens.
Whenever you make a change to Column A or B of Sheet1 the code will hide all of the rows in Sheet2 and then scan Columns B and C of Sheet1 and unhide any row in Sheet 2 where there is a value in Column A or B of Sheet1.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 Then
lastRow = Range("A" & Rows.Count).End(xlUp).Row
Sheets(2).Rows.Hidden = True
For Goods = 1 To lastRow
If Cells(Goods, 2) > 0 Or Cells(Goods, 3) > 0 Then _
Sheets(2).Rows(Goods).Hidden = False
Note: Your requirements only asked about hiding rows with zero quantities. They did not say anything about carrying over the quantities from Sheet1, so the code does not do that.