Hola... Función para buscar y copiar en excel

<a>https://skydrive.live.com/?cid=749e1318df8840ac#cid=749E1318DF8840AC&id=749E1318DF8840AC!124</a>

hola buenas noches....

deseo una formula o un código vb para realizar esas operaciones,1

deseo que al copiar el una celda especifica un código de cliente y este me referencie a una hoja llamada pagos u me busque todas la filas que contengan ese código de cliente y me copien los datos de fecha de pago y valor pagado a l a hoja consol, las sumas se harán con la función sumar

uilice la función sumar.si pero no me sirvió para pegar todos los datos de códigos que encontraba en la hoja pagos a la hoja consol...

envío un pantallazo del área de trabajo

gracias

1 respuesta

Respuesta
1

Ya vi la imagen, voy a preparar una macro y te la envío.

Pregunta: El formato de consol es fijo, es decir, ¿a partir de la fila 8 se empiezan a pegar los datos encontrados?

hola... si a partir de la fila 8 se empiezan a pegar los datos siempre es fijo,,, porque las anteriores contienen encabezados y otros datos como si fuera un extracto bancario...

Te envío la macro, sigue las instrucciones

Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: copiapagos. Aceptar.
9. Para ejecutarla dale click a la imagen.

Sub copiapagos()
'copia pagos a consol
'Por.Dam
Set destino = Sheets("CONSOL")
Set origen = Sheets("PAGOS")
destino.Select
If destino.Range("T3") = "" Then
    MsgBox "Escriba un valor en Código", vbCritical, "Módulo de Pagos"
    Range("T3").Select
    Exit Sub
End If
origen.Select
ufila = Range("A" & Rows.Count).End(xlUp).Row
j = 8
destino.Select
    destino.Range("D5") = ""
    destino.Range("K5") = ""
    destino.Range("P7") = ""
    destino.Range("A8:K" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents
For i = 2 To ufila
    If origen.Cells(i, 1) = destino.Range("T3") Then
        destino.Range("D5") = origen.Cells(i, 2)
        destino.Range("K5") = origen.Cells(i, 3)
        destino.Range("A" & j) = Format(origen.Cells(i, 5), "dd/mm/yyyy")
        destino.Range("F" & j) = origen.Cells(i, 4)
        total = total + origen.Cells(i, 4)
        j = j + 1
    End If
Next
If total = 0 Then
    MsgBox "No hay Códigos", vbExclamation, "Módulo de Pagos"
Else
    destino.Range("P7") = total
    MsgBox "Proceso finalizado", vbInformation, "Módulo de Pagos"
End If
End Sub

Saludos.Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas