You are defining last row using the data in column A. Does Column A have any data in it?

I modified your code slightly, made sure that there was data in column A and it works.


Code:
Sub Copy_Data()
Dim sh As Worksheet, lr As Long, rng As Range, c As Range
Set sh = Sheets(1)
lr = sh.Range("A" & Rows.Count).End(xlUp).Row
Set rng = sh.Range("K2:K" & lr)
    For Each c In rng
        If IsNumeric(Left(c.Value, 1)) Then
            c.Copy sh.Cells(Rows.Count, "J").End(xlUp)(2)
        End If
    Next
End Sub