Cómo ordenar Vba
A partir de estos datos originales, se establece una tabla de datos clasificados y resumidos, como se muestra en la siguiente figura:
El requisito es que cuando los datos del cronograma cambien, se espera que las tablas de resumen se puedan ordenar automáticamente. Estos requisitos no se pueden ordenar automáticamente de forma manual. Estos requisitos sólo pueden depender de VBA. Primero, compila un programa de clasificación, el código es el siguiente:
Subsort()
Transformar mi hoja de trabajo en una cadena
Dim arr(1 a 3, 1 a 2)
Represente I, J, K como números enteros
Dim M_S1 As String 'Nombre del área de intercambio de almacenamiento.
Dim M_S2 se vende como intercambio en tienda dual.
MYsheet = "Ranking resumido"
Hoja de trabajo (mi hoja de trabajo). Seleccione
Lee valores en una matriz.
Para I = 1 a 3
Para J = 1 a 2
arr(I, J) = Celdas(I + 1, J + 1)
Siguiente J
Siguiente I
Ordenar
Para I = 1 a 2
Para J = I + 1 a 3
Si arr(I, 2)< Entonces arr(J, 2)
? M_S1 = arreglo(I, 1)
? S2 = arr(I, 2)
? arr(I, 1) = arr(J, 1)
? arr(I, 2) = arr(J, 2)
? arr(J, 1) = M_S1
? arr(J, 2) = M_S2
Terminará si...
Siguiente J
Siguiente I
La matriz El Los resultados ordenados se almacenan en celdas.
Para I = 1 a 3
Celda((I+1),2) = arr(I,1)
Siguiente i
p>Conector final
Luego escriba un programa de activación de eventos para cambios en el contenido de la celda, el código es el siguiente: (Nota: este código debe colocarse en la tabla de datos original)
subsheet_change privado (objetivo ByVal como rango)
if objetivo.
¿Columna<then=4
? Clasificación
Terminará si...
Finalizar conector