Matrices de libros diferentes de excel sumarlas y mostrar la matriz resultante

Buenos días....

Tal vez sea una programación muy boba, pero no he dado para realizarla.

Tengo dos libros de excel diferentes con matrices con el mismo tamaño, libro1(a3:j780) y libro2(z3:ah780. Necesito sumarlas y luego que la matriz resultado la muestre en otro libro nuevo.

Gracias de antemano

1 respuesta

Respuesta
1

Con una fórmula matricial es posible pero antes una aclaración:

Los rangos que muestras no son iguales

A3:J780 (10 columnas 778 filas)

Z3:AH780 (9 columnas 778 filas)

Hola, disculpa

el primer rango es: A3:j780

el segundo rango es: z3:ai780

Agradezco el tiempo que te tomas

En el siguiente enlace te dejo un vídeo para explicarte como hacerlo

http://share.cx.com/kjDtSk

No olvides finalizar la consulta

podrías explicarme la misma solución con una macro?

Te paso la solución con macros. Lee estas instrucciones con atención:

-Tenemos 3 archivos:

Matriz1.xlsm

Matriz2.xlsx

resultado.xlsx

En el archivo matriz1 tenemos la primera matriz (donde sea) y además tendremos la macro

En el archivo matriz2 tenemos la segunda matriz (donde sea)

El archivo resultado.xlsx está en blanco.

Los 3 archivos están grabados en el disco duro.

Inicialmente tenemos abiertos los archivos matriz1 y resultado.

Nos ponemos el el archivo matriz1 y ejecutamos la macro:

-Nos pedirá que marquemos con el ratón la matriz1. Seguidamente se abrirá un browse para que busques y abras el archivo matriz2 y una vez abierto el archivo matriz2 te pedirá que marques con el ratón la matriz2. Una vez hecho esto acabará el proceso y tendrás la matriz resultante en el archivo resultado.

Esta es la macro que estará dentro del archivo matriz1.xlsm

Sub ejemplo()
'por luismondelo
f = 1
c = 1
primero = ActiveWorkbook.Name
Set tabla1 = Application.InputBox("tabla1", Type:=8)
columnas = tabla1.Columns.Count
ubica = tabla1.Address(False, False)
fichero = Application.GetOpenFilename
If fichero = False Then Exit Sub
Workbooks.Open fichero
Set tabla2 = Application.InputBox("tabla2", Type:=8)
tabla2.Copy
Workbooks(primero).Activate
Range(ubica).Offset(0, columnas + 1).Select
ActiveSheet.Paste
For Each celda In tabla1
suma = celda.Value + celda.Offset(0, columnas + 1).Value
Workbooks("resultado.xlsx").Sheets(1).Cells(f, c).Value = suma
c = c + 1
If c = columnas + 1 Then
c = 1
f = f + 1
End If
Next
End Sub

no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas