Seleccionar todas las hojas con macro

05/03/2009 - 14:44 por Tony | Informe spam
Hola a todos:

Necesito una macro que me seleccione todas las hojas del libro activo... El
nombre y el número de hojas es variable... ¿Cómo sería la macro?...

Gracias. Un saludo.

Preguntas similare

Leer las respuestas

#6 Juan M
09/03/2009 - 10:47 | Informe spam
Hola Tony,

A mi el único error que me salta es cuando existe alguna hoja oculta (no
visible)
Pero este error que indicas tú no

"Error en el método 'Select' de objeto 'Sheets'





¿Puedes escribir la descripción completa del error?

Un saludo,
Juan



"Tony" escribió
Hola Juan:

Creo que hay alguna protegida, pero tiene que seguir protegida puesto que
hay celdas que los usuarios no tienen por qué tocar...

Espero que no tenga que ver con eso o que haya alguna forma de
solucionarlo
sin tener que desproteger o desocultar hojas...

Gracias por anticipado...

"Juan M" wrote:


"Tony" escribió
> Juan, siento decir que he probado la rutina pero no funciona porque
> pone
> "Error en el método 'Select' de objeto 'Sheets'
>
> ¿Cómo puedo arreglarlo?...
>
> Gracias por anticipado...
>
> "Tony" wrote:
>
>> Pues muchas gracias Juan... Lo probaré a ver cómo funciona...
>>
>> "Juan M" wrote:
>>
>> >
>> > "Tony" escribió
>> > > Hola a todos:
>> > >
>> > > Necesito una macro que me seleccione todas las hojas del libro
>> > > activo...
>> > > El
>> > > nombre y el número de hojas es variable... ¿Cómo sería la
>> > > macro?...
>> > >
>> > > Gracias. Un saludo.
>> >
>> > Hola Tony,
>> >
>> > Prueba esto:
>> >
>> > Sub SeleccionaHojas()
>> > ThisWorkbook.Sheets.Select
>> > End Sub
>> >
>> > Un saludo,
>> > Juan
>> >

Hola Tony,

Como tienes tus hojas? hay alguna que esté protegida / oculta?

Un saludo,
Juan



Respuesta Responder a este mensaje
#7 Tony
09/03/2009 - 19:58 | Informe spam
Hola Juan:

Me pasa tanto en libros con hojas protegidas u ocultas como en libros
normales... Lo que sí me he dado cuenta de que me ocurre con el Excel 2000,
sin embargo con el 2003 me funciona correctamente...

¿Puede ser problema de la versión?... Si es así lo que necesito es que me
funcione en el 2000 y en el 97...

Gracias de nuevo Juan, espero tu respuesta...

"Juan M" wrote:

Hola Tony,

A mi el único error que me salta es cuando existe alguna hoja oculta (no
visible)
Pero este error que indicas tú no

>> "Error en el método 'Select' de objeto 'Sheets'

¿Puedes escribir la descripción completa del error?

Un saludo,
Juan



"Tony" escribió
> Hola Juan:
>
> Creo que hay alguna protegida, pero tiene que seguir protegida puesto que
> hay celdas que los usuarios no tienen por qué tocar...
>
> Espero que no tenga que ver con eso o que haya alguna forma de
> solucionarlo
> sin tener que desproteger o desocultar hojas...
>
> Gracias por anticipado...
>
> "Juan M" wrote:
>
>>
>> "Tony" escribió
>> > Juan, siento decir que he probado la rutina pero no funciona porque
>> > pone
>> > "Error en el método 'Select' de objeto 'Sheets'
>> >
>> > ¿Cómo puedo arreglarlo?...
>> >
>> > Gracias por anticipado...
>> >
>> > "Tony" wrote:
>> >
>> >> Pues muchas gracias Juan... Lo probaré a ver cómo funciona...
>> >>
>> >> "Juan M" wrote:
>> >>
>> >> >
>> >> > "Tony" escribió
>> >> > > Hola a todos:
>> >> > >
>> >> > > Necesito una macro que me seleccione todas las hojas del libro
>> >> > > activo...
>> >> > > El
>> >> > > nombre y el número de hojas es variable... ¿Cómo sería la
>> >> > > macro?...
>> >> > >
>> >> > > Gracias. Un saludo.
>> >> >
>> >> > Hola Tony,
>> >> >
>> >> > Prueba esto:
>> >> >
>> >> > Sub SeleccionaHojas()
>> >> > ThisWorkbook.Sheets.Select
>> >> > End Sub
>> >> >
>> >> > Un saludo,
>> >> > Juan
>> >> >
>>
>> Hola Tony,
>>
>> Como tienes tus hojas? hay alguna que esté protegida / oculta?
>>
>> Un saludo,
>> Juan
>>
>>
>>



Respuesta Responder a este mensaje
#8 Juan M
10/03/2009 - 16:05 | Informe spam
Hola Tony,

Las pruebas las realice en las versiones 2003 y 2007.
Prueba el código que indico al final y comenta si funciona.
Por otro lado si explicas para que quieres seleccionar todas las hojas se
puede preparar un proceso para que lo haga hoja por hoja.

Un saludo,
Juan

Inicio Código

Sub SeleccionaHojas()

Dim a() As String
Dim i As Long

ReDim a(Worksheets.Count - 1)

For i = 0 To Worksheets.Count - 1
a(i) = Sheets(i + 1).Name
Next i
Worksheets(a).Select
End Sub

FIn Código
Respuesta Responder a este mensaje
#9 Juan M
10/03/2009 - 16:35 | Informe spam
Hola de nuevo,

Modifica el código donde dice worksheets debe decir sheets

Sub SeleccionaHojas()

Dim a() As String
Dim i As Long

ReDim a(Sheets.Count - 1)

For i = 0 To Sheets.Count - 1
a(i) = Sheets(i + 1).Name
Next i
Worksheets(a).Select
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida