Insertar datos de un formulario en primera fila libre

Tengo realizada una hoja de excel donde voy introduciendo los movimientos de mi cuenta corriente y los voy clasificando por categorías de manera que en una segunda hoja donde tengo una tabla se me van sumando automáticamente los movimientos de una misma categoría por meses.
La cuestión es que en la hoja donde voy introduciendo los movimientos tengo hechos dos formularios, uno para movimientos de salida (gastos) y otro para movimientos de entrada (ingresos), de manera que los dos formularios tiene los mismos campos (fecha, concepto, importe y categoría) la única diferencia es que el campo importe según sea un formulario u otro la cantidad de este campo va a la columna gasto o ingreso para así luego poder aplicar la fórmula que calcula el saldo disponible.
Donde no consigo salirme es en programar ambos formularios para que cuando yo le de al botón aceptar me inserte los datos introducidos en los campos en el primera fila libre. Es decir, no se como programar el botón aceptar para que busque la ultima fila libre e inserte la información de los distintos campos en la columna correspondiente.
Sin más espero haberme sabido explicar y puedan ayudarme.

1 respuesta

Respuesta
2
A ver si esto te sirve
Range("A1").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
Aquí indico primero la primera celda donde están los datos
Luego con el do while habo un ciclo que recorrerá cada fila, y tiene la condición de que mientras la celda en la que se encuentre, en el recorrido, sea diferente a "", es decir, que no este vacía, realice el código
La siguiente linea es muy importante para que se vayan recorriendo las filas, de lo contrario, el do while seria infinito y nunca saldría de el. La instrucción Offset te permite trabajar con las filas o columnas alrededor de la celda activa. Por ejemplo si pones Offset(1,1), la celda a la que hace referencia es una fila abajo, una columna a la derecha. Si pones (2, 3), hace referencia a 2 filas abajo, 3 columnas a la derecha.
Y luego ya cierro el do con el Loop
Y agregando la siguiente linea a como te funcione puedes agregarle valor a la celda vacía, por ejemplo
ActiveCell.Offset(1, 0).Value="el valor que quieras"
(Esta ultima linea es solo una idea)
Obviamente tienes que agregar el código necesario para ingresar datos a la celda vacía, pero lo que te escribí es una forma para encontrar una celda vacía
Ojala te ayude

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas