
¿Puedo configurar (posiblemente con scripts) Excel para que recurra automáticamente a una tabla cada vez que se actualiza una entrada?
Respuesta1
Un google rápido me dio eso:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Worksheets(1).Range("E9:F32"), Target) Is Nothing) Then
DoSort
End If
End Sub
Private Sub DoSort()
Worksheets(3).Range("E3:M7").Sort Key1:=Worksheets(3).Range("M3"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L3"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E10:M14").Sort Key1:=Worksheets(3).Range("M10"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L10"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E17:M21").Sort Key1:=Worksheets(3).Range("M17"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L17"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E24:M28").Sort Key1:=Worksheets(3).Range("M24"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L24"), Order2:=xlDescending, Header:=xlYes
End Sub
No tengo muchos conocimientos de VBA, pero intentaré explicarte cómo personalizar esto, si fallo con eso, házmelo saber. ;)
Con el primer sub defines cuándo se activa la función. La línea de arriba dice iniciar DoSort cuando se cambie algo en la hoja de trabajo 1 en las celdas E9 a F32.
DoSort clasifica algunos rangos y también puede adaptarse con sus propios rangos de datos. Simplemente elimine las líneas innecesarias y cambie los números de las hojas de trabajo y los rangos de datos.