Schau dir einfach mal den VBA Editor an
Um aus der UserForm sicherzustellen, daß du immer an die erste freie Zeile schreibst:
Code:
ende = Worksheets("[Name des Sheets]").Cells(Rows.Count, [spalte]).End(xlUp).Row
Das gibt immer die erste freie Zelle (von unten) in einer Spalte zurück (Zeilennummer)