Copiar datos de una hoja a otra

Tengo un libro de excel con dos hojas
locales
contenedores

en base a una lista desplegable en la hoja locales, quiero pasar los datos que están en la hoja contenedores a la de locales.

trate de hacerlo en base a una solución que me dieron hace un tiempo pero no logro hacerlo funcionar.

Private Sub CommandButton1_Click()
Range("a1").Value = valor
Application.ScreenUpdating = False
Sheets("CONTENEDORES").Select
For Each c In Range("a4:a20")
If UCase(c.Value) = valor Then
Range(Cells(c.Row, "A"), Cells(c.Row, "f")).Copy
Sheets("locales").Range("a20").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
End If
Next
Application.CutCopyMode = False
End Sub

gracias de antemano por la ayuda

1 Respuesta

Respuesta
1

Aparentemente la macro está bien. Debieras explicar un poquito más xq no la podes hacer funcionar.

REvisá si las hojas se llaman tal como se indica en la macro.

Si los valores seleccionados en el combo son texto.

Hay muchos detalles a considerar al copiar-pegar datos (podes leer algo más en la sección Guías (Guía Nº 3) de mi sitio. ¿Quizás necesites solo valores o con sus fórmuls? ¿Copiar con o sin formatos?

Quedo atenta a tus aclaraciones.

Elsa, gracias por la respuesta.

Ya detecte que el error era que estaba ejecutando el macro en la hoja "locales" y no en la "contenedores" .

lo solucione creando la rutina
Sub traer()
Application.ScreenUpdating = False
Sheets("CONTENEDORES").Select
For Each c In Range("a4:a100")
If UCase(c.Value) = Range("a1") Then
Range(Cells(c.Row, "A"), Cells(c.Row, "f")).Copy
Sheets("locales").Range("a100").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
End If
Next
Sheets("LOCALES").Select
Application.CutCopyMode = False
End Sub

y llamándola desde un botón en la hoja "locales"

Bien, no olvides cerrar la consulta entonces. Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas