Como evitar eliminar formas prediseñadas en una hoja de Excel VB.

Inserte unas formas prediseñadas en una hoja de Excel las cuales hacen la veces de botones, que están conectadas a macros, al dar clic sobre ellas, me llama la macro, pero me esta sucediendo que accidentalmente cambian de tamaño y en ultimo he eliminado algunas. Quiero saber si existe algún método para que evitar que me cambien de tamaño o se eliminen. En Excel VB.

1 Respuesta

Respuesta
1

Ya cambiaste la propiedad de la imagen a :

"No mover, ni cambiar tamaño con celdas"

Si no te funciona, puedes poner la macro para revisar qué hace la macro.

Otra opción es proteger la hoja, de esa forma las imágenes no pueden ser borradas. Pero deberás desproteger la hoja al inicio de la macro y volver a proteger al final de la macro.

Hola, ya cambie la propiedad de la imagen a : "No mover, ni cambiar tamaño con celdas", pero no me funciona. Se que protegiendo la hoja me funciona, pero no puedo protegerla porque debo hacer modificaciones a la hoja1.

Le envió el archivo a su correo: [email protected].

muchas gracias por su ayuda.

Ya le fue enviado el a su correo   [email protected]

Tienes que proteger la hoja, te anexo el código de la macro, para que funcione con la hoja protegida

Sub Actualizar_Copiar()
'---
'   Por.Dante Amor
'---
    Application.ScreenUpdating = False
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h1.Unprotect
    h2.Range("A6:D" & Rows.Count).Clear
    For Each celda In h1.Cells.SpecialCells(xlCellTypeConstants, 23)
        Select Case celda.Interior.ColorIndex
            Case 6:     col = "A"   'Amarillo
            Case 3:     col = "B"   'Rojo
            Case 14:    col = "C"   'Verde
            Case 23:    col = "D"   'Azul
            Case Else:  col = ""
        End Select
        If col <> "" Then
            u = h2.Cells(Rows.Count, col).End(xlUp).Row + 1
            celda.Copy h2.Cells(u, col)
        End If
    Next
    For i = 1 To 4
        u = h2.Cells(Rows.Count, i).End(xlUp).Row
        With h2.Sort
            .SortFields.Clear
            .SortFields.Add Key:=h2.Cells(5, i), _
                SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange h2.Range(h2.Cells(6, i), h2.Cells(u, i)): .Header = xlNo
            .MatchCase = False: .Orientation = xlTopToBottom
            .SortMethod = xlPinYin: .Apply
        End With
    Next
    h1.Protect
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

hola, con la modificación que le hizo a la macro si me funciona, pero por el trabajo que realizo en esta hoja, no quería protegerla para mayor rapidez. Una ultima pregunta. ¿No se puede proteger solo los botones o deshabilitar clínica derecho sobre los botones para no modificarlos ni eliminarlos?.

Muchas gracias

Pero si quitas el botón derecho, puedes seleccionar la imagen y borrarla.

Para eso se utiliza la protección.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas