Why use

[vba]

GetBottomRow = rngUsed.Rows.Count + rngUsed.Row - lngOffset_c
[/vba]

isn't rngUsed.Row always 1, so you could just use

Why use

[vba]

GetBottomRow = rngUsed.Rows.Count
[/vba]

but usedrange has the leftover bug, which spoils it anyway.