That worked perfect, thanks!
I realized I left out one detail (one step in the manual process), in that once the data's been sorted, only the entrants with positive values need to be copied.
I tried using the code you provided (which worked great) and adding a loop to search for the first row with a 0 value, and clear it out with all remaining rows. However, my range method keeps failing. Any ideas here?
Sub CopySort()
Dim CopySH As Worksheet, SortSH As Worksheet, OutSH As Worksheet
Dim Z As Integer, RowNum As Integer, BCount As Integer
Set CopySH = Sheets("COPY FROM HERE (DO NOT CHANGE)")
Set SortSH = Sheets("PASTE TO HERE")
Set OutSH = Sheets("DRAWING")
'clean out any existing data
OutSH.Range("A14:B214").ClearContents
OutSH.Range("B4").Value = ""
SortSH.Range("A2:B" & SortSH.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
'copy across data
CopySH.Range("A2:B202").Copy
SortSH.Range("A2").PasteSpecial (xlPasteValues)
SortSH.Range("A:B").Sort , order1:=xlDescending, key1:=SortSH.Range("B1"), header:=xlYes
Z = 0
RowNum = 2
For Z = 1 To 500
If SortSH.Range("B""RowNum") <> 0 Then Exit For
RowNum = RowNum + 1
Next Z
SortSH.Range("A2:B" & SortSH.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
SortSH.Range("A2:B202").Copy
OutSH.Range("A14").PasteSpecial (xlPasteValues)
End Sub
Bookmarks