Macro Excel 2003: buscar y copiar a otra hoja

Necesito hacer una macro en excel 2003 que realice las siguientes tareas entre dos hojas de cálculo pertenecientes a dos libros diferentes:

Estando en el libro 1, nos colocamos en la celda A2

Arranca la macro extrayendo el contenido de la celda donde estamos posicionados

Después se traslada al segundo libro y busca también en la columna A la celda donde aparece el mismo contenido, a continuación se traslada justo a la celda que tiene a la derecha, en la columna B, y copia el contenido de esa nueva celda

Vuelve al libro original y copia el nuevo contenido en la celda B2

A continuación salta a la celda A3 y comienza el proceso

Todo el proceso termina cuando en la Columna A aparezca una celda en blanco

Gracias y un saludo

1

1 Respuesta

806.975 pts. Excel avanzado y VBA

Aquí tienes la macro. Te busca los valores de la columna A de la hoja1 del libro activo en otro archivo que abras en la columna A de la primera hoja del segundo archivo. Además la macro va equipada para pedirte que abras el segundo archivo que tu quieras y lo cerrará cuando termine el proceso.

(Recuerda finalizar y puntuar por favor)

Sub buscar()

primero = ActiveWorkbook.Name

fichero = Application.GetOpenFilename

If fichero = False Then Exit Sub

Workbooks.Open fichero

segundo =ActiveWorkbook.Name

Workbooks(primero).Activate

Sheets(1).Select

Range("a2").Select

Do While ActiveCell.Value <> ""

valor = ActiveCell.Value

Set busca = Workbooks(segundo).Sheets(1).Range("a2:a" & Range("a65000").End(xlUp).Row).Find(valor, LookIn:=xlValues, lookat:=xlWhole)

If Not busca Is Nothing Then

ActiveCell.Offset(0, 1).Value = busca.Offset(0, 1).Value

End If

ActiveCell.Offset(1, 0).Select

Loop

Workbooks(segundo).Close False

End Sub

Lo acabo de probar pero sólo ha completado una única celda. Para que te hagas una idea tengo un primer fichero donde en la columna A hay 59 celdas con datos que tengo que cotejar sobre un segundo fichero donde existen 4.000 celdas con valores en la columna A y con un segundo valor en la columna B. Necesito una macro que complete en el primer fichero el segundo valor para las 59 celdas.

Al ejecutar la macro he conseguido completar el valor para la celda situada en la posición B52 del primer libro y correspondía con los valores de las celdas A3 y B3 del segundo libro.

Pues no lo entiendo, la macro funciona perfectamente, a acabo de probar y funciona bien.

Recuerda que empieza a buscar desde la celda A2 hasta la última y busca los valores del otro libro empezando también desde A2. Si quieres te puedo mandar el archivo para que lo pruebes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas