You are missing the cleaning of the txtRowNumber control in the Module1.Initialize procedure.
    With frmUserForm
        ' Set all fields to blank values --------
        .txtRowNumber.Value = vbNullString
(...)
By the way, I have a request for you to check a certain thing. As I understand, with your system settings, in the InitializeListBox procedure, this line works correctly
.ColumnWidths = "20,150,0,80,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80"
With my settings, it generates an error. Please check that if you change the separators from comma to semicolon you get the error "Could not set the ColumnWidths property".
.ColumnWidths = "20;150;0;80;0;80;80;80;80;80;80;80;80;80;80;80;80;80;80;80;80;80;80;80"
The feedback is important to me for the future.

Artik