sleeccionar casi todas las hojas de unlibro

hacmurphy

New Member
Joined
Sep 29, 2005
Messages
31
Hola, tengo un libro, mas o menos con 30 hojas. estoy intenetando que con una macro se seleccionen 25 de ellas para poder trabajar en todas a la vez.
La propiedad Sheets.select, no me sirve, porque selecciona todas las hojas del libro.
y estoy tratando con Worksheets(array(........)).select, pero me da como resultado un error, que me dice que "subscrip out of range"


alguien sabe por que?
muchas gracias!!!!
 

Excel Facts

Round to nearest half hour?
Use =MROUND(A2,"0:30") to round to nearest half hour. Use =CEILING(A2,"0:30") to round to next half hour.
hacmurphy,

No se preocupe sobre su gramática, le entendí sin problema ninguna. Bueno estudie el siguiente. Aquí se ve dos maneras de accessar un grupo de hojas. En grupo usando la colección ActiveWindow.SelectedSheets o una por una haciendo un aro con For Each ws In xxxx o For x = LBound(a) to UBound(a)
Code:
Sub MultiSheetActivities()
    Dim i As Long, myArr As Variant
    myArr = Array(1, 3, 5, 7)
    For i = LBound(myArr) To UBound(myArr)
        MsgBox Sheets(myArr(i)).Name
    Next
    Sheets(myArr).Select
    Range("E1:F12").Interior.ColorIndex = 12
    ActiveWindow.SelectedSheets.FillAcrossSheets Range("E3:F8"), xlFillWithFormats
End Sub
También vea esta hilera para más plática sobre esta tema.

Ay, casi se me olvida - el error de "subscript out of range" significa que una de las hojas a las cuales está tratando de referir no existe. Usted puso un nombre o un índice erróneo.

Cordialmente,

Greg

<hr />

Dumbo,

Glass houses and stones, old man. Your one sentence there has more than one error in grammar. :wink:
 
Upvote 0
no me sale todavia

hola nuevamente, he vuelto con la problematica de la seleccion de algunas hojas del libro y no puedo con ello!!!

Lo que me has enviado Greg, está bien, pero no me sirve y no sé como adaptarlo para que me sea útil.

Lo último que intenté es:

Sheets.Select
Worksheets(Array("sheet1", "sheet15", "sheet25")).Deselect

pero me da el error de que el orbjeto no soporta esa propiedad.

En realidad es lo que necesito: seleccionar todas las hojas, excepto estas tres, para luego poder trabajar a la vez en todas las hojas seleccionadas.

Si a alguien se le ocurre algo... gracias!!!!!
 
Upvote 0
Hola Ana,

Desafortunadamente Deselect no es un método válido para objetos tipo hoja. En el VBE imprima la tecla F2 para ver el Object Browser y en la cajita para búsquedas ponga «deselect» y verá que solamente hay un objeto que tiene un método de Deselect que es el gráfico (chart). Hay que usar select y especificar cuales quiere seleccionar, no se puede hacer de la manera que usted pretende (pero me parece buena idea).

Saludos,
 
Upvote 0
Re: Seleccionar todas la hojas de un libro.

Puedes aportar más datos de lo que deseas hacer, en mi opinión quizas te pueda orientar más objetivamente si se que es lo que necesitas hacer al seleccionar todas las hojas.
 
Upvote 0
Re: Seleccionar todas la hojas de un libro.

HOla, gracias por tu interés. lo que necesito, que ya lo hago en otro fichero es cortar y pegar toda la información que hay para que desaparezcan todos los links y me quede solo una foto de las hojas. Pasa que no lo puedo hacer en todas las hojas, porque tengo tres o cuatro hojas que digamos, necesito mantener "vivas", o algo asi. Pero claro, las que necesito cortar y pegar solo valores son un monton y hacerlo hoja por hoja, estando todas protegidas es un clavel!

bueno, a ver si se te ocurre algo.

graicas
 
Upvote 0
Re. A ver si te sirve

Saludos. Espero te sea de utilidad.

Sub workin100()
'Con esto puedes quitar rapidamente el password de las hojas
Dim pass As String
pass = "hola" 'Tu password de las hojas
For Each x In Worksheets 'Bucle para quitar el password
x.Select
ActiveSheet.Unprotect pass
Next

'Después a trabajar

For Each hoja In Worksheets
hoja.Select
nomb = ActiveSheet.Name
Select Case nomb
Case Is = "Hoja1" 'Estas tres hojas son las que no se modifican
Case Is = "Hoja5" 'Si es necesario puedes agregar otra instruccion case
Case Is = "Hoja10" 'para agregar tantas hojas como lo desees
Case Else
Range("A5").Value = "Este es el espacio para hacer lo que quieras de tus hojas"
End Select
Next
'Repites el paso de arriba para volver a proteger lo que quede

For Each y In Worksheets 'Bucle para poner el password
y.Select
ActiveSheet.Protect pass
Next

End Sub
 
Upvote 0

Forum statistics

Threads
1,223,956
Messages
6,175,612
Members
452,661
Latest member
Nonhle

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top