ordenar alfabetico de hojas - responder a esta casilla

29/09/2004 - 17:04 por CHECHU | Informe spam
Buenos días para todos:
Tengo un libro de excel que posee 140 hojas y cuando
preciso una nueva la agrego al final, sin percatarme del
orden alfabetico.
El problema se presenta cuando tengo que consultar alguna
de ellas. Se me complica para buscarlas
Alli esta la pregunta: se puede buscar rapidamente por
nombre de hoja (etiqueta)?, ó como hago para ordenarlas
alfabeticamente??
Desde ya muchas gracias
CHECHU

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
29/09/2004 - 17:46 | Informe spam
Prueba con el siguiente código:

Sub OrdenarHojas()
Dim wksH As Worksheet

Dim mtrHojas() As String
Dim intBucle As Integer
Dim blnOrdenado As Boolean
Dim strCambio As String

ReDim mtrHojas(1 To ThisWorkbook.Worksheets.Count)

For Each wksH In ThisWorkbook.Worksheets
mtrHojas(wksH.Index) = wksH.Name
Next

Do
blnOrdenado = True

For intBucle = 1 To UBound(mtrHojas) - 1

If mtrHojas(intBucle) > mtrHojas(intBucle + 1) Then
strCambio = mtrHojas(intBucle)
mtrHojas(intBucle) = mtrHojas(intBucle + 1)
mtrHojas(intBucle + 1) = strCambio
blnOrdenado = False
Exit For
End If

Next intBucle

If blnOrdenado Then Exit Do
Loop

Application.ScreenUpdating = False
For intBucle = UBound(mtrHojas) To LBound(mtrHojas) Step -1
Sheets(mtrHojas(intBucle)).Move before:=Sheets(1)
Next intBucle
Application.ScreenUpdating = True

Set wksH = Nothing
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel



"CHECHU" escribió en el mensaje news:39e401c4a635$aa0af9a0$
Buenos días para todos:
Tengo un libro de excel que posee 140 hojas y cuando
preciso una nueva la agrego al final, sin percatarme del
orden alfabetico.
El problema se presenta cuando tengo que consultar alguna
de ellas. Se me complica para buscarlas
Alli esta la pregunta: se puede buscar rapidamente por
nombre de hoja (etiqueta)?, ó como hago para ordenarlas
alfabeticamente??
Desde ya muchas gracias
CHECHU
Respuesta Responder a este mensaje
#2 CHECHU
29/09/2004 - 18:59 | Informe spam
Estimado Fernando, no tengo muchos conocimientos de esto,
asi que sería mucha molestia explicarme donde y como
aplico este código???
Gracias
Chechu

Prueba con el siguiente código:

Sub OrdenarHojas()
Dim wksH As Worksheet

Dim mtrHojas() As String
Dim intBucle As Integer
Dim blnOrdenado As Boolean
Dim strCambio As String

ReDim mtrHojas(1 To ThisWorkbook.Worksheets.Count)

For Each wksH In ThisWorkbook.Worksheets
mtrHojas(wksH.Index) = wksH.Name
Next

Do
blnOrdenado = True

For intBucle = 1 To UBound(mtrHojas) - 1

If mtrHojas(intBucle) > mtrHojas(intBucle +


1) Then
strCambio = mtrHojas(intBucle)
mtrHojas(intBucle) = mtrHojas(intBucle +


1)
mtrHojas(intBucle + 1) = strCambio
blnOrdenado = False
Exit For
End If

Next intBucle

If blnOrdenado Then Exit Do
Loop

Application.ScreenUpdating = False
For intBucle = UBound(mtrHojas) To LBound(mtrHojas)


Step -1
Sheets(mtrHojas(intBucle)).Move before:=Sheets(1)
Next intBucle
Application.ScreenUpdating = True

Set wksH = Nothing
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel



"CHECHU" escribió en el mensaje


news:39e401c4a635$aa0af9a0$
Buenos días para todos:
Tengo un libro de excel que posee 140 hojas y cuando
preciso una nueva la agrego al final, sin percatarme del
orden alfabetico.
El problema se presenta cuando tengo que consultar alguna
de ellas. Se me complica para buscarlas
Alli esta la pregunta: se puede buscar rapidamente por
nombre de hoja (etiqueta)?, ó como hago para ordenarlas
alfabeticamente??
Desde ya muchas gracias
CHECHU
.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
30/09/2004 - 10:01 | Informe spam
- Alt F11 para entrar en el editor de VBA
- Insertar->Módulo
- Pegar el código que puse en mi anterior mensaje en la ventana de edición (la más grande, normalmente a la derecha)
- Para ejecutar el código, F5 desde el editor de VBA o Herramientas->Macro->Macros->OrdenarHojas desde la hoja de cálculo.

Un saludo.


Fernando Arroyo
MS MVP - Excel


"CHECHU" escribió en el mensaje news:18c801c4a645$bb27d2c0$
Estimado Fernando, no tengo muchos conocimientos de esto,
asi que sería mucha molestia explicarme donde y como
aplico este código???
Gracias
Chechu
Respuesta Responder a este mensaje
#4 Völkl
03/10/2004 - 21:07 | Informe spam
Es posible que se ejecute cuando se abre el libro?

"Fernando Arroyo" ha escrit en el missatge
dels grups de discussió:
- Alt F11 para entrar en el editor de VBA
- Insertar->Módulo
- Pegar el código que puse en mi anterior mensaje en la ventana de edición
(la más grande, normalmente a la derecha)
- Para ejecutar el código, F5 desde el editor de VBA o
Herramientas->Macro->Macros->OrdenarHojas desde la hoja de cálculo.

Un saludo.


Fernando Arroyo
MS MVP - Excel


"CHECHU" escribió en el mensaje
news:18c801c4a645$bb27d2c0$
Estimado Fernando, no tengo muchos conocimientos de esto,
asi que sería mucha molestia explicarme donde y como
aplico este código???
Gracias
Chechu
Respuesta Responder a este mensaje
#5 Fernando Arroyo
03/10/2004 - 21:54 | Informe spam
"Völkl" <Vö escribió en el mensaje news:
Es posible que se ejecute cuando se abre el libro?




Claro, lo único que habría que hacer es llamar al procedimiento desde el evento Open de libro, algo como:

Private Sub Workbook_Open()
If MsgBox("¿Desea que las hojas sean ordenadas?", vbYesNo) = vbYes Then OrdenarHojas
End Sub

o, si no se desea que se pregunte:

Private Sub Workbook_Open()
OrdenarHojas
End Sub

Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida