Escribir en primera celda vacía, pero poder corregir en misma linea

Buenos días,

Necesito vuestra ayuda nuevamente, tengo una macro hecha por elsamatilde que escribe en primera fila vacía de hoja2 lo mismo que se pone en una fila de hoja1.

Al ponerla en funcionamiento me he dado cuenta que al corregir una de las lineas escritas en hoja1 crea los datos en una nueva linea de hoja2, yo necesitaría que cuando modifique una linea en hoja1 que correspondan los mismos datos de hoja2 modifique esa linea en hoja2.

No se si es posible hacerlo funcionar o si me he explicado correctamente.

Saludos y gracias

1 respuesta

Respuesta

En lugar de utilizar una macro puedes utilizar una formula, para que los datos se actualicen automáticamente, prueba =concatenar('hoja1'! A1)

Lo que esta en negrita cambialo por el nombre de la hoja de origen, y cambia el nombre de la celda también,

Ojo debes digitar esta formula en la celda de destino,

Saludes..

Buenos días,

Gracias por tu contestación, pero eso funcionaria si siempre coincidieran los datos en la misma fila, te explico, la hoja2 va recibiendo los datos de hoja1 pero cuando llega una cantidad determinada de datos ejecuto otra macro que imprime y limpia todos los datos de hoja2 (borrando también las fórmulas de A:A), a partir de esto vuelvo a introducir datos en hoja1 a continuación de los que ya habían y en hoja2 empiezan en la primera fila vacía.

De todas formas edito la macro.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla el rango A5:A44, E5:E44 de la hoja1
'si se introduce algo en otro rango no se ejecuta el evento
If Intersect(Target, Range("A5:A44,E5:E44")) Is Nothing Then Exit Sub
'si se seleccionan varias celdas tampoco se ejecuta
If Target.Count > 1 Then Exit Sub
'se guarda el dato en Hoja2 en la primer fila libre de a col ingresada
libre = Sheets("CONTENEDORES").Cells(65536, Target.Column).End(xlUp).Row + 1
Sheets("CONTENEDORES").Cells(libre, Target.Column) = Target.Value
End Sub

Saludos

Entonces imprimes una especie de reporte de algunos datos que se encuentran en la hoja1

Es decir la hoja1 es la base de datos y la hoja 2 es el reporte,

¿Me explico?

Porque no tratas eliminando todos los datos de la hoja 2 y volver a ejecutar la macro para que te genere desde el principio ya con los datos adecuados,

O simplemente utilizas buscar y reemplazar.

Hola,

Exacto la hoja1 es un albarán de entrega con la totalidad de los artículos a entregar y la hoja2 es el reporte de piezas que van en cada embalaje, osea cada vez que lleno un embalaje de material imprimo la hoja2 y se borran todos los datos de hoja2.

Pero el problema es que con esta macro si relleno las filas de hoja1 se copian en hoja2 pero si modifico cualquier fila ya escrita no me modifica la linea correspondiente en hoja2 sino que la vuelve a repetir a continuación de la primera fila vacía de hoja2.

Sdos.

Entonces lo que te recomiendo que utilices en lugar de una macro es una tabla dinámica, la cual se utiliza especialmente para reportes. Mejor estructurados y especialmente para bases de datos extensas

Lo siento, he tenido problemas de acceso a internet y no he podido acceder antes, de todas formas no tiene nada que ver mi pregunta con tu respuesta, agradezco tu interés y doy por finalizada la pregunta.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas