Como introducir datos automáticam. En la 1ª celda libre de la columna "A", ¿En hoja 1 desde hoja 2?

Dispongo de un fichero excel "Clientes", con la hoja "1" y hoja "2".

En la hoja "2" rellenamos los datos de los clientes a medida que los conseguimos.

Queremos que en la hoja "1" se introduzcan automáticamente en la primera celda libre en la columna "A" solo el nombre de cada cliente.

Es decir, los clientes se crean en la hoja 2, y en la 1 deberían aparecer automáticamente uno detrás de otro los nombres de los clientes en la columna A, rellenando la primera celda libre.

Espero haberlo planteado correctamente. Saludos a todos"

Muchas gracias por la atención a este Email

Pedro

1 respuesta

Respuesta
1

Se puede hacer con esta macro.

Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(hoja2)
4. Del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
'por.dam
If Not Intersect(Target, Range("C2")) Is Nothing Then
    uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row + 1
    Sheets("Hoja1").Range("A" & uf) = Target
End If
End Sub

Cambia en la macro esta línea por la celda de la hoja2 donde capturan el cliente
If Not Intersect(Target, Range("C2")) Is Nothing Then
Por ejemplo: si capturan el cliente en la celda D10, debe quedar así
If Not Intersect(Target, Range("D10")) Is Nothing Then

Saludos. Dam
Si es lo que necesitas.

Hola Dam, gracias por tu respuesta. Todo lo has escrito perfecto, paso a paso, pero lo he intentado (escribiendo de cero) cuatro veces, y no me ha funcionado. No entiendo porque .

Sin embargo, he de hacerte una aclaración,. En la hoja "2" NO se introduce el cliente en la misma celda siempre. Me explico, si tenemos tres clientes ya conseguidos: Juan, Pedro y Luis, estos nombres estarán por ejemplo en la A4, A5 y A6 respectivamente, a su vez, se habran copiado sucesivamente en la B8, B9 y B10 de la hoja "1". en el momento que aparezca otro cliente, por ejemplo Armando, lo escribiremos en la hoja "2" en A7 entonces el sistema deberá buscar en la columna "B" de la hoja "1" la primera celda libre, que sera la B11, e introducir el nombre de Armando en ese lugar.

Gracias otra vez, y disculpa la tardanza en contestar, estuve trabajando fuera de mi casa

Pedro, desde España

Entonces si los clientes se crean en la hoja 2 en la una columna, cambia la macro por esta

Private Sub Worksheet_Change(ByVal Target As Range)
'por.dam
If Not Intersect(Target, Columns("A")) Is Nothing Then
uf = Sheets("hoja1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Hoja1").Range("A" & uf) = Target
End If
End Sub

Saludos.Dam
Si es lo que necesitas.

Recibido Damm, lo probamos hoy y te comentamos. Muchas gracias. Pedro

Bien.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas