...
...
This is how you would do that
i = 1
For Each sh In Workbooks("Addins.Names v2.xls").Worksheets
Cells(i, 1).Value = sh.Name
i = i + 1
Next sh
the lack of i=1 may have been your original problem.
...
An alternative approach would be
i = 0
For Each sh In Workbooks("Addins.Names v2.xls").Worksheets
i = i + 1
Cells(i, 1).Value = sh.Name
Next sh
In which case the 'i = 0' statement may be unnecessary if i were an as-yet
unused integer. As an added bonus, i equals the number of entries after the loop
completes. But the count already exists, so why not use it?
For i = 1 To Workbooks("Addins.Names v2.xls").Worksheets.Count
Cells(i, 1).Value = sh.Name
Next i