I'm stuck in this block of code that copies sheet("Newly Distributed") to the last row of sheet("Source") from another workbook. The error is runtime error 9. What's wrong with my code? Any response would be appreciated.

```
Private Sub copylog3()
Dim lRow As Long
Dim NextRow As Long, a As Long
Dim i As Integer
Dim ret
Dim log As Workbook
lRow = Sheets("Macro Template").Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A7:AM" & lRow).Copy
Sheets("Newly Distributed").Range("A1").PasteSpecial xlPasteValues
ret = Application.GetOpenFilename(FileFilter:="Excel Workbooks (*.xls, .xlsx*),*.xls, .xlsx*", _
Title:="Select data file for Monitoring Log")
Set log = Workbooks.Open(ret)
'----Copy to monitoring log
NextRow = log.Sheets("Source").Cells(Rows.Count, "A").End(xlUp).Row + 1
a = NextRow
i = 1
Do Until Sheets("Newly Distributed").Cells(i, 1) = ""
log.Sheets("Source").Cells(a, 1).Value = Sheets("Newly Distributed").Cells(i, 1).Value
log.Sheets("Source").Cells(a, 2).Value = Sheets("Newly Distributed").Cells(i, 2).Value
log.Sheets("Source").Cells(a, 3).Value = Sheets("Newly Distributed").Cells(i, 3).Value
log.Sheets("Source").Cells(a, 4).Value = Sheets("Newly Distributed").Cells(i, 4).Value
log.Sheets("Source").Cells(a, 5).Value = Sheets("Newly Distributed").Cells(i, 5).Value
log.Sheets("Source").Cells(a, 6).Value = Sheets("Newly Distributed").Cells(i, 6).Value
log.Sheets("Source").Cells(a, 7).Value = Sheets("Newly Distributed").Cells(i, 7).Value
log.Sheets("Source").Cells(a, 8).Value = Sheets("Newly Distributed").Cells(i, 8).Value
log.Sheets("Source").Cells(a, 9).Value = Sheets("Newly Distributed").Cells(i, 9).Value
log.Sheets("Source").Cells(a, 10).Value = Sheets("Newly Distributed").Cells(i, 10).Value
log.Sheets("Source").Cells(a, 11).Value = Sheets("Newly Distributed").Cells(i, 11).Value
log.Sheets("Source").Cells(a, 12).Value = Sheets("Newly Distributed").Cells(i, 12).Value
log.Sheets("Source").Cells(a, 13).Value = Sheets("Newly Distributed").Cells(i, 13).Value
log.Sheets("Source").Cells(a, 14).Value = Sheets("Newly Distributed").Cells(i, 14).Value
log.Sheets("Source").Cells(a, 15).Value = Sheets("Newly Distributed").Cells(i, 15).Value
log.Sheets("Source").Cells(a, 16).Value = Sheets("Newly Distributed").Cells(i, 16).Value
log.Sheets("Source").Cells(a, 17).Value = Sheets("Newly Distributed").Cells(i, 17).Value
log.Sheets("Source").Cells(a, 18).Value = Sheets("Newly Distributed").Cells(i, 18).Value
log.Sheets("Source").Cells(a, 19).Value = Sheets("Newly Distributed").Cells(i, 19).Value
log.Sheets("Source").Cells(a, 20).Value = Sheets("Newly Distributed").Cells(i, 20).Value
log.Sheets("Source").Cells(a, 21).Value = Sheets("Newly Distributed").Cells(i, 21).Value
log.Sheets("Source").Cells(a, 22).Value = Sheets("Newly Distributed").Cells(i, 22).Value
log.Sheets("Source").Cells(a, 23).Value = Sheets("Newly Distributed").Cells(i, 23).Value
log.Sheets("Source").Cells(a, 24).Value = Sheets("Newly Distributed").Cells(i, 24).Value
log.Sheets("Source").Cells(a, 25).Value = Sheets("Newly Distributed").Cells(i, 25).Value
log.Sheets("Source").Cells(a, 26).Value = Sheets("Newly Distributed").Cells(i, 26).Value
log.Sheets("Source").Cells(a, 27).Value = Sheets("Newly Distributed").Cells(i, 27).Value
log.Sheets("Source").Cells(a, 28).Value = Sheets("Newly Distributed").Cells(i, 28).Value
log.Sheets("Source").Cells(a, 29).Value = Sheets("Newly Distributed").Cells(i, 29).Value
log.Sheets("Source").Cells(a, 30).Value = Sheets("Newly Distributed").Cells(i, 30).Value
log.Sheets("Source").Cells(a, 31).Value = Sheets("Newly Distributed").Cells(i, 31).Value
log.Sheets("Source").Cells(a, 32).Value = Sheets("Newly Distributed").Cells(i, 32).Value
log.Sheets("Source").Cells(a, 33).Value = Sheets("Newly Distributed").Cells(i, 33).Value
log.Sheets("Source").Cells(a, 34).Value = Sheets("Newly Distributed").Cells(i, 34).Value
log.Sheets("Source").Cells(a, 36).Value = Sheets("Newly Distributed").Cells(i, 39).Value
i = i + 1
a = a + 1
Loop
End Sub
```