Línea en macro Excel para eliminar 2 Elipse

DAM, aquí entretenido. Ahora vengo con esto.

¿Para eliminar 2 Elipse con esta iinea

 ActiveSheet. DrawingObjects("Elipse 4, Elipse 5").Delete

Me manda error; "no te riaaaaas"

Esta linea esta en la macro Sub guardar() del libro Lista Repuestos.

Cambie boton por Elipse (forma)

1 Respuesta

Respuesta
1

H o l a:

No, cómo crees, ninguna risa, todos estamos a prendiendo.

Primero, debes saber el nombre de la figura, selecciona la figura y en el cuadro de nombres aparece el nombre:

Después, tienes que poner una línea por cada figura que quieras borrar:

ActiveSheet.DrawingObjects("4 Elipse").Delete
ActiveSheet.DrawingObjects("5 Elipse").Delete

Si quieres borrar todos las figuras:

ActiveSheet.DrawingObjects.Delete

sal u dos

Hola

No, cómo crees, ninguna risa, todos estamos a prendiendo.

Pois si, pero yo no paro y para seguir, ya no me alcanza el tiempo, je je

Claro, pensaba yo ayer que una línea para cada Forma pero, com oquiero eliminar todas (2) tu línea de abajo es la adecuada.

Rayos que casi casi pero jamas pensé que al no mencionar los nombres, podría hacerlo pero, también hay uno que no quiero eliminar (mi logo) y por lo tanto tendré que optar por 1na línea para cada uno (son 2).

Gracias DAM y felis semana

DAM vuelvo en retroceso je je

Usando línea para cada uno, me dice esto:

La macro:

Sub guardar() 'PARA GUARDAR COMO XLSX
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = ActiveSheet
    nbr = h1.[E8] & " " & h1.Name & " " & h1.[I8] & " " & h1.[I9]
    ruta = "c:\0\"
    With Application.FileDialog(msoFileDialogFolderPicker)
        '.Title = "Selecciona una carpeta"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        If .Show <> -1 Then Exit Sub
        cp = .SelectedItems(1)
    End With
    '
    h1.Copy
    ActiveSheet.DrawingObjects("Elipse 5").Delete
    ActiveSheet.DrawingObjects("Elipse 5").Delete
    'ActiveSheet.DrawingObjects.Delete 'ELIMINA TODOS FORMAS
    ActiveWorkbook.SaveAs Filename:=cp & "\" & nbr & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
    MsgBox "Archivo guardado en " & cp & "\" & nbr & ".xlsx"
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Range("A1").Select
End Sub

El nombre en mi 2013 aparece Elipse 4  y no 4 Elipse (Excel 2013 Español)

Perdón

Es:

    ActiveSheet.DrawingObjects("Elipse 4").Delete
    ActiveSheet.DrawingObjects("Elipse 5").Delete

Revisa bien los nombres

ActiveSheet.DrawingObjects("Elipse 5").Delete
    ActiveSheet. DrawingObjects("Elipse 5").Delete

Pusiste 2 veces el 5, si lo borras una vez e intentas eliminarlo nuevamente te envía el error.

Podrías poner antes

On error resume next

Si la encuentra la borra

Si no la encuentra no envía el error y se pasa a la siguiente instrucción.

La enmienda esta arriba, eso lo vi después pero lo corregí

h1.Copy
    ActiveSheet.DrawingObjects("Elipse 4").Delete
        ActiveSheet.DrawingObjects("Elipse 5").Delete
    'ActiveSheet.DrawingObjects.Delete 'ELIMINA TODOS FORMAS

Pon esto en la macro:

On error resume next

Disculpa DAM fui a dar con tu respuesta en Spam.

Mi respuesta es que no manda error pero me deja igual en la copia, los 2 Elipse de la hoja

Elipse 4

Elipse 5

Revisa bien los nombres.

Ejecuta esta macro sobre la hoja para ver los nombres:

Sub nombres()
    For Each fig In ActiveSheet.DrawingObjects
        MsgBox fig.Name
    Next
End Sub

Me dice

Oval 4

Oval 5

Esto creo que es sobre los Elipse porque tengo una imagen y me dice

0 Imagen

    ActiveSheet.DrawingObjects("Oval 4").Delete
    ActiveSheet.DrawingObjects("Oval 5").Delete

Estas son 2 formas que inserte que en el cuadro de Nombres parecen como:  Elipse 4 y Elipse 5.

Con la macro que me dejas aparecen como: Oval 4 y oval 5

Entonces cambia a Oval 4 e intenta borra.

Lo hice de inmediato al obtener esos nombes, no manda error por lo de On error resume next ipero sin el dice, lo mismo del error arriba expuesto y direcciona a la línea

ActiveSheet.DrawingObjects("Oval 4").Delete
ActiveSheet.DrawingObjects("Oval 5").Delete

Pues borra todas.

Y vuelves a poner tu logo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas