............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

ordenar hojas desde una lista en una hoja

Ver el tema anterior Ver el tema siguiente Ir abajo

ordenar hojas desde una lista en una hoja

Mensaje por GEAR el Mar Abr 17, 2012 7:51 pm

Hola amigos que tal, vengo a pedirles ayuda a completar una macro que estoy haciendo (en realidad fue algo que me surgio de duda, tengo la macro siguiente que lo que hace es ordanar las hojas de excel adecuadamente:

Código:
Sub ordenar() 'orden correcto de numeros 1
Dim Desp As Integer, Ant As Integer 'falta lectura de rangos
Application.ScreenUpdating = False
   
    For Desp = 1 To Sheets.Count
        For Ant = Desp To Sheets.Count
          If UCase(Format(Sheets(Ant).Name, "000000000000000000000000")) < _
            UCase(Format(Sheets(Desp).Name, "000000000000000000000000")) Then _
                Sheets(Ant).Move Before:=Sheets(Desp)
        Next Ant
    Next Desp

Application.ScreenUpdating = True

End Sub

mi punto o duda es que en cualquier hoja no importa tenga una lista de los nombres de las hojas pero con un orden diferente al que se encuentras estas hojas en el libro y lo que me gustaría hacer es ordenar las hojas de mi libro de acuerdo al orden que tengo en esa lista por ejemplo mis hojas: 1,2,5,8,3, a,b,g......etc y en la lista tengo este orden de arriba abajo: a,1,2,5,b,8.....etc les dejo mi libro para estar mas claro vale espero me puedan ayudar ya que no soy muy experto en macros aun que eh visto muchos ejercicios buenos aqui que me han funcionado


Saludos y gracias por su tiempo.
Archivos
ordenar_hojas.xls No tienes los permisos para descargar los archivos.(48 KB) Descargado 9 veces

GEAR

Masculino Cantidad de envíos : 13
Edad : 30
Ciudad - Pais : Coacalco-Mexico
Version de Excel : 2007
Fecha de inscripción : 11/08/2011

Volver arriba Ir abajo

Re: ordenar hojas desde una lista en una hoja

Mensaje por Cacho R el Mar Abr 17, 2012 9:15 pm

Fíjate si te sirve "algo" así:

Código:
Sub Ordenar()
Dim i As Integer, mySh As Worksheet
Application.ScreenUpdating = False
With Worksheets
  Set mySh = .Add(.Item(1))
  [a1] = "Lista"
  For i = 2 To .Count
    Cells(i, "a") = .Item(i).Name
  Next
End With
[a1].CurrentRegion.Sort key1:=[a1], order1:=xlAscending, Header:=True
For i = 2 To Worksheets.Count
  Worksheets(CStr(mySh.Cells(i, "a"))).Move before:=Worksheets(i)
Next
With Application
  .DisplayAlerts = False: mySh.Delete
  Worksheets(1).Activate
  .DisplayAlerts = True: .ScreenUpdating = True
End With
Set mySh = Nothing
End Sub
Saludos, Cacho R.
avatar
Cacho R
Moderador
Moderador

Masculino Cantidad de envíos : 210
Ciudad - Pais : Buenos Aires
Version de Excel : Desde Multiplan (pre-Excel) hasta 2010
Fecha de inscripción : 29/06/2011

Volver arriba Ir abajo

Re: ordenar hojas desde una lista en una hoja

Mensaje por GEAR el Miér Abr 18, 2012 1:12 pm

Que tal, gracias por la respuesta la macro que me sugeriste esta funciona bien pero aun no hace lo que quiero mira ayer estando intentando logre algo a lo que quiero pero me falta arreglar el que no este fijado un rango en especial que seria poner varios listados en la hoja y que yo seleccione cualquiera de esos y me lo ordene de acuerdo a ello mira:

Código:
Sub OrdenarHojas()

Set r = Application.InputBox("escojele", , , , , , , 8)

For r = 1 To Sheets("2").Cells.Find _
            ("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
  For h = 1 To Sheets.Count
       
      If Sheets(h).Name Like Sheets("2").Cells(r, 1) Then
        Sheets(h).Move After:=Sheets(Sheets.Count)
      End If
     
  Next h
Next r
End Sub

lo que eh conseguido es que me ordena las hojas pero siempre tengo que poner mi lista en la columna 1 y lo que quiero es tener varias listas y que cuando seleccione alguna de ellas me ordene las hojas.


Saludos.
Archivos
ejemplos2.xls No tienes los permisos para descargar los archivos.(49 KB) Descargado 6 veces

GEAR

Masculino Cantidad de envíos : 13
Edad : 30
Ciudad - Pais : Coacalco-Mexico
Version de Excel : 2007
Fecha de inscripción : 11/08/2011

Volver arriba Ir abajo

Re: ordenar hojas desde una lista en una hoja

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.