Ordenar automaticamente

15/04/2010 - 20:07 por dazdevil | Informe spam
Hola

Tengo una tabla con las columnas apellido1, apellido2 y nombre.

Me gustaría que cada vez que se introduce un nuevos nombre ordene toda la
tabla por apellido1 automaticamente.

¿Cómo debo hacerlo?

Saludos
 

Leer las respuestas

#1 Héctor Miguel
16/04/2010 - 06:05 | Informe spam
hola (...), ?????

Tengo una tabla con las columnas apellido1, apellido2 y nombre.
Me gustaria que cada vez que se introduce un nuevos nombre ordene toda la tabla por apellido1 automaticamente...



asumiendo que la "una tabla" esta en las columnas A,B,C con titulos en la fila 1 (???)
copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa" hoja
(clic-secundario sobre la etiqueta con el nombre de la hoja y... "ver codigo")

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Or Target.Count > 1 Or Target.Row < 2 _
Then Exit Sub Else Dim Valor As String, Fila As Integer
Valor = Target & "@" & Target.Offset(, 1)
With Target.CurrentRegion
.Sort Key1:=.Cells(1), Order1:=xlAscending, _
Key2:=.Cells(1, 2), Order2:=xlAscending, Header:=xlYes
With .Resize(, 1)
Fila = Evaluate("match(""" & Valor & """," & _
.Address & "&""@""&" & .Offset(, 1).Address & ",0)")
.Offset(Fila - 1).Resize(1).Select
End With
End With
End Sub

OJO: toma nota de que perderas la pila de niveles para des-hacer (undo, ctrl+Z)

saludos,
hector.

Preguntas similares