You appear to have two triggers for copying a row from the Stock sheet to the Sales sheet:
1. whenever I make a sale
2. when the the qty of an item is changed
So which is the trigger to copy a row.
You need to provide a lot more detail - remember no one looking at your post can see your Excel Workbook. We have no idea how information is laid out, and we don't know how you use the worksheets.
A. When you make a sale - what happens to the Sales sheet -
A1. do you enter several items such as 'Sold to', "Quantity sold' & 'Cost' on a new row and does the Sales sheet consist of a series of rows, each one documenting a sale, or
A2. is there a new Sales sheet for each Sale
B. How is the item you are selling identified - do you put a description or a product code on that row, and if so in which column.
C. What column on the Stock sheet contains the identifier for the product - its description or its product code.
D. You want the Stock sheet row copied to the Sales sheet - where do you want that row to go. Does it go in the row after the sale information, which means it is copied to a different row after each sale or is it copied to a fixed row, so that it overwrites the row from the Stock sheet that was copied for the previous sale.
E. How is the quantity of each item on the Stock sheet changed when a Sale is made. Which column contains the quantity information on both the Stock sheet and the Sales sheet.
F. What do you mean by I have multiples of most items . Does this mean that you have multiple rows on the Stock sheet for the same item, or does it mean that the quantity of some items is greater than one, or something else.