Wenn keiner einen brauchbaren Vorschlag hat, dann folgende Infos.
        
        
          Rows.Count, ist die letzte mögliche Zeile.
          
          (Zeile 65536 in den älteren Excel- Versionen)
          
          und
          (Zeile 1048597 in den neuen Excel- Versionen)
          ___________________________________________________________________
          
          ' Zur absoluten letztmöglichen Zeile der Exceltabelle, dann so:
          ActiveWindow.ScrollRow = ActiveSheet.Rows.Count
          
          ' Zur letzten belegten Zeile scrollen,
          in welcher die Zelle in der Spalte B > 0 ist, dann so:
          ActiveWindow.ScrollRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
          
          ' Wenn du die letzten 3 Zeilen sehen möchtest, dann:
          ActiveWindow.ScrollRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row - 3
          
          Den Code auf dein Makro anpassen
          ___________________________________________________________________
          
          Deinen Code im Makro:
          StartZeile = Ws.Cells(65536, 2).End(xlUp).Row + 1
          
          würde ich in folgendes ändern,
          dann musst du deine Makros, nicht auf neuere Excel- Versionen anpassen:
          
          ' Die leere Zeile, nach der letzten Datenzeile,
          in welcher die Zelle in der Spalte B > 0 ist.
          StartZeile = Ws.Cells(Rows.Count, 2).End(xlUp).Row + 1
          ___________________________________________________________________
          
          z.B. die UserForm zentrieren:
              ' Eine horizontale Zentrierung
              Me.Left = Application.Left + Application.Width / 2 - Me.Width / 2
          
              ' (Eine vertikale Zentrierung) + 30 weiter nach unten
              Me.Top = (Application.Top + Application.Height / 2 - Me.Height / 2) + 30