El error desde mi punto de vista es que no tienes las bases, y si intentas construir un edificio empezando por el tejado... no te va a salir.
Estás haciendo cosas muy raras... cosas que señalan que no entiendes bien los conceptos. Te recomendaría que empezaras con el curso de Bases de la programación.
De cualquier manera voy a tratar de orientarte algo:
Visual Basic es un lenguaje basado en eventos (orientado a eventos). El código se ejecuta cuando ocurre un evento. Por ejemplo un evento es la carga de un formulario, y otro evento es el evento click sobre un botón.
Así el código dentro de un Private Sub cmdSiguiente_Click() ....... End Sub es el código que se ejecutará cuando ocurra el evento "click del usuario sobre el botón".
Ahora fíjate lo que haces:
Private Sub cmdSiguiente_Click()
Dim Montosolicitado As Double
Declaras una variable para que se cree después de que el usuario haga click. No creo que esto tenga sentido. Normalmente las variables se declaran o en cabecera del formulario, o a lo sumo en el form_load, es decir, cuando carga el formulario, pero declararla dentro del código de respuesta a un click... frío frío.
Después fíjate lo que haces... Estableces el valor de Porcentaje en función de Cuotasadevolver declarado en el mismo procedimiento de respuesta a un click. Obviamente Cuotasadevolver no tiene ningún valor, pues lo acabas de crear y no ha ocurrido ningún evento que permita que tenga valor.
Obviamente el Porcentaje no es conocido hasta que ocurre el evento click sobre el botón. ¿Cómo quieres que se ejecute el código antes si tú mismo estás diciendo que se ha de ejecutar cuando ocurra el evento click sobre el botón?
No te quiero desanimar, al contrario, te quiero animar a que empieces el curso de Lenguaje de programación Visual Basic por el principio y lo vayas siguiendo; de otra manera me parece que frío frío...
Saludos y suerte.