Eu troquei o bloco que calculou o LastRow usando FIND
:
LastRow = .Columns(coloffset).Find(What:="*", _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
com isso:
LastRow = .Cells(Rows.Count, coloffset).End(xlUp).Row
Espero que este método seja idêntico ao método anterior e não tenha problemas imprevistos.