A documentação sugere que sua tarefa antes disso ( lastRow = ObjWS.Range("A" & ObjWS.Rows.Count).End(xlUp).row
) poderia seja o problema.
Você declara lastRow
como um Integer, mas a documentação declara que .Row
para um Range
seria de somente leitura longa. Isso não explica por que funciona na segunda vez, mas pode ser o problema.