Como se puede usar un valor de una celda dentro de una macro

21/04/2004 - 16:34 por Geronimo | Informe spam
hola como estan, tengo una duda que es la siguiente
Tengo un libro dentro del cual tengo varias hojas, cada una de estas hojas
tiene el nombre de una persona, el problema que tengo es el siguiente:
como puedo ordenar los nombres de cada hoja de manera alfabetica.
Pense en lo siguiente:
usar una hoja extra en la cual estara almacenado el nombre de la persona y
el nombre de la hoja, con la funcion buscar encuentro el nombre de la
persona el cual me va arrojar el nombre de la hoja pero como le digo a la
macro con la instruccion sheets que agarre el valor de la celda donde esta
arrojando el resultado
Sheets("Hoja1").Select <- asi esta
sheets(que debo de poner aqui).Select

O si alguien sabe otra manera de hacerlo se agradeceria

Saludos
 

Leer las respuestas

#1 Cesar Zapata
21/04/2004 - 17:33 | Informe spam
Aqui te mando el codigo de Chip Pearson. Pon esto en el VBE.


Sub SortWorksheets()

Dim N As Integer
Dim M As Integer
Dim FirstWSToSort As Integer
Dim LastWSToSort As Integer
Dim SortDescending As Boolean

SortDescending = False

If ActiveWindow.SelectedSheets.Count = 1 Then
FirstWSToSort = 1
LastWSToSort = Worksheets.Count
Else
With ActiveWindow.SelectedSheets
For N = 2 To .Count
If .Item(N - 1).Index <> .Item(N).Index - 1 Then
MsgBox "You cannot sort non-adjacent sheets"
Exit Sub
End If
Next N
FirstWSToSort = .Item(1).Index
LastWSToSort = .Item(.Count).Index
End With
End If

For M = FirstWSToSort To LastWSToSort
For N = M To LastWSToSort
If SortDescending = True Then
If UCase(Worksheets(N).Name) > UCase(Worksheets(M).Name) Then
Worksheets(N).Move Before:=Worksheets(M)
End If
Else
If UCase(Worksheets(N).Name) < UCase(Worksheets(M).Name) Then
Worksheets(N).Move Before:=Worksheets(M)
End If
End If
Next N
Next M

End Sub





Geronimo wrote:

hola como estan, tengo una duda que es la siguiente
Tengo un libro dentro del cual tengo varias hojas, cada una de estas hojas
tiene el nombre de una persona, el problema que tengo es el siguiente:
como puedo ordenar los nombres de cada hoja de manera alfabetica.
Pense en lo siguiente:
usar una hoja extra en la cual estara almacenado el nombre de la persona y
el nombre de la hoja, con la funcion buscar encuentro el nombre de la
persona el cual me va arrojar el nombre de la hoja pero como le digo a la
macro con la instruccion sheets que agarre el valor de la celda donde esta
arrojando el resultado
Sheets("Hoja1").Select <- asi esta
sheets(que debo de poner aqui).Select

O si alguien sabe otra manera de hacerlo se agradeceria

Saludos


Preguntas similares