Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar VBA para resumir y sumar varias tablas idénticas?

¿Cómo utilizar VBA para resumir y sumar varias tablas idénticas?

Este problema se puede resolver utilizando métodos de programación de diccionario y de matriz. El programa de diccionario es más simple y la eficiencia de operación de la matriz es un poco más eficiente, pero la lógica es un poco más complicada. escribe el array:

sub macro 1()

dim arr, arr2, n, i, j, k, t, i2

n=0' Calcule el número total de filas

para cada t en la matriz("a", "b", "c")

n=n hojas("summary" & t). usedrange.rows.count

next t

redim arr(1 a n, 1 a 4) 'Matriz de resultados

n=0'Número de filas en matriz de resultados

para cada t en array("a", "b", "c")

arr2=sheets("summary" & t).usedrange

j=asc(t)-asc( "a") 2'Los datos están en la columna de la tabla de resultados

k=8 'Los datos están en la columna de la tabla original

para i2=2 a ubound(arr2)

para i=1 a n

si arr(i, 1)=arr2(i2, 1) entonces salir para

siguiente i

si arr (i, 1)lt gt; arr (i2, 1) entonces

n=n 1

i=n

arr(i, 1) =arr(i2, 1)

fin si

arr(i, j)= arr2(i2, k)

siguiente i

siguiente t

'Guardar los resultados

sheeta("summary").range ("a2").resize(n, 4)=arr

end sub