borrar Celdas Desbloqueadas de Varias Hojas

02/03/2006 - 20:52 por KM**VE | Informe spam
Hola Amigo, Tengo un libro con 5 hojas, como modifico este macro para que me
borra celda Desbloqueadas Varias hoja del mismo libro.





KM**VE






Sub borrarDesbloqueadas()
'
' Macro1 Macro
' Macro grabada el 27/02/2006 por KM
'
ActiveSheet.Unprotect Password:="pp"
Dim c As Range
On Error Resume Next
For Each c In Range("A1:a20")
If c.Locked = False Then
c.ClearContents
End If
Next
ActiveSheet.Protect Password:="pp"
End Sub

Preguntas similare

Leer las respuestas

#6 KM**VE
03/03/2006 - 21:18 | Informe spam
Hola hector probé este macro con un nuevo libro con las 5 hojas y funciono
perfecto lo que pasa lo nombre de la hojas yo lo cambio a veces, haber si
hay alguna formula para que se fijan la hoja y yo coloco el nombre que
quiero.


gracias
KM**VE




Sub Borra_Desbloqueadas()
Application.ScreenUpdating = False
Dim Hoja As Worksheet, Celda As Range
For Each Hoja In Worksheets(Array("Hoja1", "Hoja2", "Hoja3", "Hoja4",
"Hoja5"))
For Each Celda In Hoja.Range("a1:a20")
If Not Celda.Locked Then Celda.ClearContents
Next
Next
End Sub



"Héctor Miguel" escribió en el mensaje
news:
hola, KM !

el error 9 [subindice fuera del intervalo] significa que no se pudo tener
acceso a alguno/s de los elementos 'indicados'
-> [generalmente] se debe a que NO 'existe' [al menos] con el nombre [o en
la posicion] que se le ha indicado :(
-> comprueba que los carcteres [y/o espacios, acentos, etc.] de los
nombres de las hojas sean 'identicos'
[tanto en los nombres de las hojas como en la matriz de la macro]
no importa tanto si son mayusculas y/o minusculas, pero SI... los
caracteres exactos ;)

comentas ?
saludos,
hector.
=>> ... igual no fonciono... te mando el ejemplo.
Sub Borra_Desbloqueadas()
Application.ScreenUpdating = False
Dim Hoja As Worksheet, Celda As Range
For Each Hoja In Worksheets(Array("Cierre de Caja", "Control Multi
Bancos", "Relacion de Compra", "Confederado"))
For Each Celda In Hoja.Range("A1:DD140")
If Not Celda.Locked Then Celda.ClearContents
Next
Next
End Sub



prueba con los nobres 'reales' de las hojas en la instruccion con el
bucle que dice...
For Each Hoja In Worksheets(Array("Hoja1", "Hoja2", "Hoja3", "Hoja4",
"Hoja5"))










Respuesta Responder a este mensaje
#7 Héctor Miguel
03/03/2006 - 22:38 | Informe spam
hola, KM !

... este macro con un nuevo libro con las 5 hojas y funciono perfecto... lo nombre de la hojas yo lo cambio a veces
... alguna formula para que se fijan la hoja y yo coloco el nombre que quiero.



si 'pasa' que el nombre de las hojas [en la pesta#a] se pudiera modificar [p.e. por el usuario] :-(( [entonces]...
habra que 'atender' al 'codename' de las hojas [espero que 'ese' nombre NO este -tambien- sujeto a modificaciones] :D
ya habras 'notado' que en el proyecto de vba, cada objeto hoja tiene 2 nombres [observa p.e. el explorador de proyectos]:
que se 'verian' +/- como sigue: CodeName (Name) / Hoja1 (Nombre de la hoja en la interfase del usuario)
y en la ventana de sus propiedades, veras...
-> inicialmente la propiedad CodeName entre parentesis -> (Name) -> seguida del CodeNamede la hoja [p.e. Hoja1]
-> y mas abajo la propiedad Name [o el nombre 'normal'] -> Name -> seguida del nombre 'real' de la hoja [p.e. Cierre de Caja]

suponiendo que a las hojas 'afectables' -> "Cierre de Caja", "Control Multi Bancos", "Relacion de Compra", "Confederado"
[o como sea que se les modifique posteriormente 'el nombre real']...
les correspondieran unos CodeNames de [p.e.] -> Hoja1, Hoja2, Hoja4 y Hoja5
prueba con otra macro +/- como sigue:
Sub Borra_Desbloqueadas()
Application.ScreenUpdating = False
Dim Hojas, Hoja As Worksheet, Celda As Range, Sig As Byte
Hojas = Array("Hoja1", "Hoja2", "Hoja4", "Hoja5")
For Sig = LBound(Hojas) To UBound(Hojas)
For Each Celda In Worksheets(ThisWorkbook.VBProject.VBComponents _
(Hojas(Sig)).Properties("Name").Value).Range("a1:dd140")
If Not Celda.Locked Then Celda.ClearContents
Next
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#8 Héctor Miguel
04/03/2006 - 06:36 | Informe spam
hola, KM !

... el macro me da un error 400 no se que es, igual te mando el ejemplo con este mensaje adjunto.



el macro se ha ejecutado SIN 'problemas' :D
[a pesar de que el codigo lo tienes en el modulo del libro -ThisWorkbok-] ;)
-> que sucede si el codigo 'lo mueves' a un modulo 'general/normal/...' -?-
[un error 'definido por la aplicacion'... pudiera tener 'otras' diferentes y variadas 'causas'] :-(

comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida