¿Cómo puedo intentar un letrero deWordArt y luego borrarlo con una macro?

Lo que quiero hacer es insertat el letrero, hacer otras cosas en la hoja y luego borrar ese mismo letrero. Creo que el problema es que el letrero cambia de nombre cada vez que se inserta.

Envío el código que estoy usando.

Gracias por la ayuda

ActiveSheet. Shapes. AddTextEffect(msoTextEffect7, "Espacio para el texto", _
        "+Mn-lt", 54, msoTrue, msoFalse, 464.9382677165, 322.7104724409).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
        "INSERTAR TEXTO WORDART"
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 22). _
        ParagraphFormat
        .FirstLineIndent = 0
        .Alignment = msoAlignCenter
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 22).Font
        .Bold = msoTrue
        .Caps = msoNoCaps
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Glow.Color.ObjectThemeColor = msoThemeColorAccent6
        .Glow.Color.TintAndShade = 0
        .Glow.Color.Brightness = 0
        .Glow.Transparency = 0.6999999881
        .Glow.Radius = 4.1811023622
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent6
        .Fill.ForeColor.TintAndShade = 0.9900000095
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 54
        .Line.Visible = msoTrue
        .Line.ForeColor.ObjectThemeColor = msoThemeColorAccent6
        .Line.ForeColor.TintAndShade = -0.1999999881
        .Line.ForeColor.Brightness = 0
        .Line.Transparency = 0
        .Line.Weight = 1
        .Line.DashStyle = msoLineSolid
        .Line.Style = msoLineSingle
        .Name = "+mn-lt"
        .Spacing = 0.5
    End With
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "INSERTE LETRERO"
    ActiveSheet.Shapes.Range(Array("1 Rectangle")).Select
    Selection.Delete

1 Respuesta

Respuesta
3

H o l a:

Te anexo la macro actualizada:

 ActiveSheet. Shapes. AddTextEffect(msoTextEffect7, "Espacio para el texto", _
         "+Mn-lt", 54, msoTrue, msoFalse, 464.9382677165, 322.7104724409).Select
    nombre = Selection.Name
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
        "INSERTAR TEXTO WORDART"
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 22). _
        ParagraphFormat
        .FirstLineIndent = 0
        .Alignment = msoAlignCenter
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 22).Font
        .Bold = msoTrue
        .Caps = msoNoCaps
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Glow.Color.ObjectThemeColor = msoThemeColorAccent6
        .Glow.Color.TintAndShade = 0
        .Glow.Color.Brightness = 0
        .Glow.Transparency = 0.6999999881
        .Glow.Radius = 4.1811023622
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent6
        .Fill.ForeColor.TintAndShade = 0.9900000095
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 54
        .Line.Visible = msoTrue
        .Line.ForeColor.ObjectThemeColor = msoThemeColorAccent6
        .Line.ForeColor.TintAndShade = -0.1999999881
        .Line.ForeColor.Brightness = 0
        .Line.Transparency = 0
        .Line.Weight = 1
        .Line.DashStyle = msoLineSolid
        .Line.Style = msoLineSingle
        .Name = "+mn-lt"
        .Spacing = 0.5
    End With
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "INSERTE LETRERO"
    ActiveSheet. Shapes. Range(Array(nombre)).Delete

Agregué esta línea al principio:

nombre = Selection.Name

Y esta al final:

ActiveSheet.Shapes.Range(Array(nombre)).Delete

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas