Escribir datos de un formulario en otra hoja de calculo

4 envíos / 0 nuevos
Último envío
christian.gh
Imagen de christian.gh
Offline
última acción: Hace 10 años 1 semana
alta: 12/10/2010 - 13:48
Puntos: 45
Escribir datos de un formulario en otra hoja de calculo

Buenos días

Agradeceré la valiosa ayuda que me puedan brindar ya que no conozco mucho de VB, sin embargo con ejemplos y comentarios en este foro voy realizando lo siguiente. En un libro de excel hice un formulario en el cual se digitan los datos de un registro (nombre_cliente, cantidad_contenedores, tipo_contenedores, etc).

Hasta aqui todo bien. Ahora lo que no puedo hacer es programar un boton que al darle el clic:

1- Copie los datos de los distintos campos en un archivo distinto (DB_control.xls).

2- Que para copiar esos datos (registro) se vaya a la siguiente fila en blanco, o sea, que respete los registros existentes.

3- Una vez copiado el registro, se guarde el archivo DB_control.xls y se limpien los campos del formulario.

Por favor, de antemano les agradezco.

 

Saludos

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 9 horas 37 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 10690
Re: Escribir datos de un formulario en otra hoja de calculo

te contesto por orden:

0- Para poder escribir en otro libro, lo primero es tenerlo abierto.
para abrir un libro utiliza Workbooks.Open

Deberás indicarle la ruta completa al archivo. Si está siempre en el mismo sitio puedes poner esta ruta en una constante dentro de tu código.

1- copiar datos de una hoja de cálculo a otra
Desde VBA te puedes escribir en cualquiera de los libros que tengas abiertos

por ejemplo, para el libro activo (suponiendo que tengas una hoja de nombre "hoja1":

ActiveWorkbook.Worksheets("hoja1").Range("a1") = "hola"

para tu libro DB_control.xls

Workbooks("DB_control.xls").Worksheets("hoja1").Range("a1") = "hola"

2- para ir a la fila en blanco debajo de los datos.

¿cómo lo harías a mano?
yo suelo hacer lo siguiente: me coloco en la celda de la esquina superior izquierda y luego pulso [Fin] [flecha abajo] con esto me desplazo a la última celda con datos hacia abajo, y comienzo a escribir una fila más abajo (esto es suponiendo que todos los registros tienen algo escrito en esa primera columna)

con una macro esto de [Ctrl][abajo] se consigue con el método End de un rango.
por ejemplo para la celda A1:

Range("A1").End(xlDown).Offset(1, 0).Select

 mediante Offset(1,0)  lo que hago es referirme a la celda que está una fila más abajo, y luego la selecciono

3- guardar el archivo
por último, para guardar los cambios, utiliza el método Save del libro
mira este otro envío del foro donde se comentan más posibilidades sobre guardar los libros

Para cerrar el libro, utiliza el método Close del libro.

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

christian.gh
Imagen de christian.gh
Offline
última acción: Hace 10 años 1 semana
alta: 12/10/2010 - 13:48
Puntos: 45
Re: Escribir datos de un formulario en otra hoja de calculo

Hola

Muchas gracias por sus indicaciones. Voy a probarlas y le confirmo

Saludos

christian.gh
Imagen de christian.gh
Offline
última acción: Hace 10 años 1 semana
alta: 12/10/2010 - 13:48
Puntos: 45
Re: Escribir datos de un formulario en otra hoja de calculo

Muy efectiva su indicación. La adecué a mi archivo y excelente.

 

Saludos