none
Buscar un dato en un Libro1 en columnas conmas de un valor coincidente en un libro 2 y que pegue todos esos valores a partir de una derteminada celda en L1 RRS feed

  • Pregunta

  • Mi problemas es el siguiente:

    En un Libro 1 tengo definido el nombre de un proceso en la celda "I2".

    En un Libro 2 tengo una gran cantidad de datos en un rango de celdas de 300 de la A hasta AP

    Por lo general un proceso es  muestreado mas de una vez, por lo que en el libro2 la celda I2 tendrá más de una imagen.

    Lo que estoy tratando de hacer y que me ha tomado demasiado tiempo para mi gusto es lo siguiente:

    Buscar el I2 del libro 1 en todo el espectro de la celda E en el Libro 2 (libro cerrado), una vez que lo encuentre necesito copiar lo siguiente:

    - Celda "B" del mismo rango en donde se encontró el valor.

    - Celda "C" del mismo rango en donde se encontró el valor.

    - Celdas "X:AG" en el mismo rango donde se encontró el valor.

    Una vez que se copiaron estos valores, volvemos (cerrando libro 2) al libro1.

    En el libro 1 pegar los valores copiados, en el mismo orden que se indica arriba a partir de la fila 4 en los rangos de A:L

    Una vez echo esto, volver al libro 2 para buscar, si es que lo hay, una nueva imagen de I2 distinta a la que ya se copio, repitiendo el proceso hasta haber copiado todas las imágenes de I2 en el libro 2.

    La idea que tenía era la siguiente:

    Sub prueba ()

    DIM dir as String
    Dim Malla as String
    Dim E as String
    Dim B as String
    Dim C as String
    Dim x as String
    Dim AG as String
    Dim i as integer
    Dim J as integer

    Dir = 'la dirección donde se ubica el libro2
    Malla = activesheet(1).range(i2).value

    For i = 1 to 300

    E = E + i 'lo que quiero lograr aquí y es donde creo puede estar el error, es que se construya una variable "Ei" en donde el i vaya cambiando de 1 a 300, así tener E1, E2, E3, E4 para utilizarlo como buscador, lo mismo para las variable a continuación.

    B = B + i
    C = B + i
    X = X + i
    AG = AG + i

    A = A + j
    L = L + j

    Workbooks.Open Filename:=(dir)
    Sheets(1).Select
    Range(E).Select

    IF Malla.value = Range(E).value then

    ActiveSheet.Range(Bi).Range(Ci).Range(Xi:AGi).Select
    Selection.Copy
    Application.DisplayAlerts = False

    For J = 4 to 30

    workbook("Libro1").select
    Rows.Range (Aj:Lj).Paste
    Application.DisplayAlerts = False
    Application.CutCopyMode = False

    Next J

    Else

    End IF

    Next i

    Application.DisplayAlerts = False
    ActiveWorkbook.Close SaveChanges:=False

    End Sub

    Ojalá me puedan ayudar....

    Llevo días en esto.

    Saludos

    martes, 8 de diciembre de 2015 19:06