Macro linea 2

Hola otra vez: Ayer me faltaba el "set" para que me crease la linea, pero ahora me encuentro con que lo de ahora no soy capaz de borrar el objeto, tenia entendido que al llamarle "Set COST1 = Activesheet..." podría usar después algo así como COST1.delete, pero no es así...
Se requiere un objeto, pero ya tengo el objeto, ¿o no?
El objetivo final es tener dos commandbuton, uno "DIBUJAR" y otro "BORRAR".
Agradezco tu ayuda.
Un saludo.

1 Respuesta

Respuesta
1
La variable, al estar definida como Dim dentro del procedimiento, su tiempo de vida dura hasta que el procedimiento se acaba, por tanto debes definirla fuera, de tal forma que los otros procedimientos, o funciones también tengan conocimiento de él.
Dim COST1 As Object
Sub DIBUJAR()
  Dim PTOXINICIO As Long
  Dim PTOYINICIO As Long
  Dim HCOST As Long
  PTOXINICIO = Sheets("MD").Range("C2").Value
  PTOYINICIO = Sheets("MD").Range("C3").Value
  HCOST = Sheets("MD").Range("C6").Value
  Set COST1 = ActiveSheet.Shapes.AddLine(PTOXINICIO, PTOYINICIO, PTOXINICIO, PTOYINICIO - HCOST)
End Sub
Sub ELIMINAR()
   COST1.Delete
End Sub
Perfecto!
Suponía que el código estaría bien, pero estos "pequeños errores" de planteamiento son los que hacen esto tan emocionante. Muchas gracias, además lo has explicado perfectísimamente.
Un saludo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas