PRoblema conmacro cuando la hoja esta bloqueada

17/10/2006 - 03:07 por Edixon | Informe spam
Hola amigos necesito de su ayuda una vez mas, tengo una macro que la
baje de este grupo ella me trae una imagen de "C:xxxxxxxxxxxxx" y me la
coloca en la hoja de excel yo tengo en esa hoja varias celdas con una
formulas muy largas lo que me obliga a tener que bloquearlas para evita
que con el uso del documento (lo usan muchas personas), las borren
accidentalmente, el problema que tengo es que cuando bloqueo la hoja
ya no me aparece la imagen que estoy llamando.

Nota: solo bloquie las celdas que tienen formulas todas las demas estan
desbloqueadas.


Gracias de antemano por su ayuda.

esta es la macro si les ayuda

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$A$1" Then Exit Sub
Dim De_donde As String, Foto As Object, _
Arriba As Double, Izquierda As Double, Ancho As Double, Alto
As Double
Application.ScreenUpdating = False
On Error Resume Next
Me.Shapes("LaFoto").Delete
De_donde = "C:\Mis imagenes\" & [a1] & ".jpg"
If Dir(De_donde) = "" Then Exit Sub
Set Foto = Me.Pictures.Insert(De_donde)
With Me.Range("f1:h21")
Arriba = .Top
Izquierda = .Left
Ancho = .Offset(0, .Columns.Count).Left - .Left
Alto = .Offset(.Rows.Count, 0).Top - .Top
End With
With Foto
.Name = "LaFoto"
.Top = Arriba
.Left = Izquierda
.Width = Ancho
.Height = Alto
End With
Set Foto = Nothing
End Sub
 

Leer las respuestas

#1 Héctor Miguel
17/10/2006 - 08:10 | Informe spam
hola, !

... una macro... me trae una imagen... y me la coloca en la hoja
... cuando bloqueo la hoja ya no me aparece la imagen que estoy llamando.
Nota: solo bloquie las celdas que tienen formulas todas las demas estan desbloqueadas...



si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
y puesto que la hoja ya tiene su clave asignada... puedes usar la instruccion de 'solo interfase de usuario'

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

ejemplos protegiendo la hoja al abrirse el libro sin que les afecte modificarlas por codigo...

a) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( < en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas [supoiendo una misma clave para todas]...
en el modulo de codigo del objeto ThisWorkbook de tu libro [prueba data.xls] ==Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'

Preguntas similares