ordenar hojas alfabéticamente

05/10/2007 - 23:09 por Sergio | Informe spam
Por favor, cómo se pueden ordenar las hojas de un libro alfabéticamente?
Tengo un libro con un montón de hojas con nombres de personas y quisiera que
se ordenaran alfabéticamente y automáticamente por el nombre.
Existe alguna función que me permita hacer eso?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/10/2007 - 23:17 | Informe spam
hola, Sergio !

... como se pueden ordenar las hojas de un libro alfabeticamente?...



usando codigo [o macros]...

- abre el editor de vba atajo de teclado = {Alt}+{F11}
- inserta un modulo estandar [menu] insertar / modulo
- copia/pega alguna de las opciones de macro al final del presente
- cierra el editor de vba y de regreso en excel...
- pulsa {Alt}+{F8} para seleccionar el nombre de la macro y la ejecutas

saludos,
hector.

op1: no importa si son [may/min]usculas

Sub Ordenar_hojas()
Dim x As String, n As Integer, a As Integer, b As Integer
x = IIf(MsgBox("Ordenar en descendente ?", vbYesNo, "") = vbYes, ">", "<")
With ActiveWorkbook.Worksheets
For n = 1 To .Count
b = n
For a = n + 1 To .Count
If Evaluate("""" & .Item(a).Name & """" & x & """" & .Item(b).Name & """") Then b = a
Next
If b <> n Then .Item(b).Move .Item(n)
Next
End With
End Sub

op2: SI se distingue entre [may/min]usculas

Sub Ordenar_hojas()
Dim Sig As Integer, Ant As Integer, Post As Integer, Desc As Boolean
Desc = MsgBox("Ordenar en descendente ?", vbYesNo, "") = vbYes
With ActiveWorkbook.Worksheets
For Sig = 1 To .Count
Post = Sig
For Ant = Sig + 1 To .Count
If Desc Then
If .Item(Ant).Name > .Item(Post).Name Then Post = Ant
Else
If .Item(Ant).Name < .Item(Post).Name Then Post = Ant
End If
Next
If Post <> Sig Then .Item(Post).Move .Item(Sig)
Next
End With
End Sub
Respuesta Responder a este mensaje
#2 Sergio
05/10/2007 - 23:40 | Informe spam
Muchas gracias Héctor Miguel. Solucionado mi problema.
No se cómo puedes tener tanta paciencia (para responder tanta consulta de
ignorantes como yo) y tanto conocimiento sobre el tema
Gracias de nuevo.
Sergio.

"Héctor Miguel" escribió en el mensaje
news:%
hola, Sergio !

... como se pueden ordenar las hojas de un libro alfabeticamente?...



usando codigo [o macros]...

- abre el editor de vba atajo de teclado = {Alt}+{F11}
- inserta un modulo estandar [menu] insertar / modulo
- copia/pega alguna de las opciones de macro al final del presente
- cierra el editor de vba y de regreso en excel...
- pulsa {Alt}+{F8} para seleccionar el nombre de la macro y la ejecutas

saludos,
hector.

op1: no importa si son [may/min]usculas

Sub Ordenar_hojas()
Dim x As String, n As Integer, a As Integer, b As Integer
x = IIf(MsgBox("Ordenar en descendente ?", vbYesNo, "") = vbYes, ">",
"<")
With ActiveWorkbook.Worksheets
For n = 1 To .Count
b = n
For a = n + 1 To .Count
If Evaluate("""" & .Item(a).Name & """" & x & """" & .Item(b).Name
& """") Then b = a
Next
If b <> n Then .Item(b).Move .Item(n)
Next
End With
End Sub

op2: SI se distingue entre [may/min]usculas

Sub Ordenar_hojas()
Dim Sig As Integer, Ant As Integer, Post As Integer, Desc As Boolean
Desc = MsgBox("Ordenar en descendente ?", vbYesNo, "") = vbYes
With ActiveWorkbook.Worksheets
For Sig = 1 To .Count
Post = Sig
For Ant = Sig + 1 To .Count
If Desc Then
If .Item(Ant).Name > .Item(Post).Name Then Post = Ant
Else
If .Item(Ant).Name < .Item(Post).Name Then Post = Ant
End If
Next
If Post <> Sig Then .Item(Post).Move .Item(Sig)
Next
End With
End Sub

Respuesta Responder a este mensaje
#3 Héctor Miguel
06/10/2007 - 00:43 | Informe spam
hola, Sergio !

... como puedes tener... paciencia... y... conocimiento ...



sabiendo que la paciencia y el conocimiento [entre otros]...
son controlados por *determinadas* regiones de un musculo [el cerebro]
y que *este* necesita ser ejercitado [o como se dice en ingles: *use it, or lose it*]

y que prefiero mantenerlo *bajo mi control* [consciente hasta donde sea posible]
antes de que [cuando la ciencia/tecnologia lo permitan] sea *ofertado* como... *casi nuevo*
me gustaria dejarlo... *hecho garras* [o considerablemente engrandecido] :D

saludos,
hector.

p.d. perdon por el O.T. :))
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida