Páginas

Estamos Para Ayudarle

Si desea que le resolvamos cualquier duda, con respecto a Excel, deje un comentario en el Post de Bienvenida o envie un correo a hector.eduardo.pm@hotmail.com ;)

Pregunta: eliminar una linea creada por medio de dos puntos

Usuario:
Hola, vuelvo a tener alguna dudilla sobre el VBA excel.
El caso es que he creado una funcion "REPRESENTAR" que lo que hace es coger valores de distintas celdas a modo de coordenadas:
a1x = Worksheets("New Position").Cells(30, 6).Value
a1y = ....
(como este otros tantos).
Luego, creo lineas que unen esas coordenadas, por ej:
Set myDocument = Worksheets("HOJA3")
With myDocument.Shapes.AddLine(xoffset1 + b1x, yoffset1 - b1y, xoffset1, yoffset1).Line
    .DashStyle = msoLineSingle
    .ForeColor.RGB = RGB(136, 0, 0)
End With
(habiendo definido anteriormente YOFFSET, XOFFSET ).
 
Lo que ahora quiero, es hacer otra funcion en otro módulo, que lo que haga es borrarme esas lineas que he creado.
No tengo ni idea de cómo hacerlo!!
No he encontrado mucho en los tutoriales...
Espero que me podais ayudar.
Muchas gracias de antemano!! ;)

Respuesta:
Puedes hacerlo de la siguiente forma:
    myDocument.Shapes("Line 1").Select
    Selection.Delete
Saludos
Usuario:
Hola, muchas gracias por la respuesta, pero...
es que en mi código no escribo en ningún momento "Line 1", entonces... cómo puedo diferenciar las lineas?, 
el caso es q cada linea está escrita por coordenadas...
Gracias de nuevo
Respuesta:
Buen dia
Los nombres se colocan automaticamente pero no te preocupes, con este codigo eliminaras todas las lineas que esten en la hoja:
Set myDocument = Worksheets("Hoja1")
myDocument.Shapes.SelectAll
Selection.Delete
Saludos
Usuario:
Hola de nuevo!!
acabo de probar lo que me has dicho y el caso es que en mi HOJA1, donde hace las lineas, tengo tambien unos botones que al clickarlos crea la figura.
El problema es que cuando creo este código "SELECTALL", me borra incluso esos botones!!
sabrías como poder ayudarme??
muchas gracias de nuevo!!
Respuesta:
No hay problema mi amigo, con este otro codigo se borraran solamente las lineas:
 
Set myDocument = Worksheets("Hoja1")
For Each sh In myDocument.Shapes
    If sh.Type = msoLine Then
        sh.Select
        Selection.Delete
    End If
Next

 
Saludos =)
Usuario:
Ya lo he probado y funciona a la perfeccion!! muchisimas gracias!!!  ;)