Hola de nuevo foreros. Espero que esta vez me puedan ayudar también como en ocasiones anteriores.
Mi problema es el siguiente:
Tengo un libro Excel que hemos venido utilizando en mi oficina desde hace tiempo sin problemas. Se trata de un libro que tiene unas macros que copian unas figuras de una hoja del libro llamada barras, a la hoja activa, que es la hoja "Planilla".
Sin embargo, al pasar a la versión 2007 ha dejado de funcionar y obtengo el siguiente error:
No se puede obtener la propiedad DrawingObjects de la clase Worksheet
Esta es una de las macros, por si sirve de ayuda:
Sub BarraSimple()
Sheets("BARRAS").Select
Range("A1").Select
ActiveSheet.DrawingObjects(Array("Texto 2", "Línea 1")).Select
Selection.Copy
Sheets("PLANILLA").Select
ActiveSheet.Paste
Sheets("BARRAS").Select
Range("B1").Select
Sheets("PLANILLA").Select
End Sub
Si me pueden echar una mano se lo agradezco, porque son unas macros que programó una persona que ya no trabaja en la empresa y ninguno hemos podido meterle mano al asunto.
gracias.
DrawingObjects dejó de llamarse así en la versión 97 de Excel para pasar a llamarse Shapes (formas), vamos que no es de ahora (nos vamos haciendo viejos); lo que ocurre es que lo mantenían por temas de compatibilidad y parece que ahora ya no es así ¿quién va a utilizar una hoja de la versión 95 hoy en día?. Pues por ejemplo tú, ya eres un damnificado más de las actualizaciones del Software.
Modifica el código de la macro sustituyendo
ActiveSheet.DrawingObjects
Por lo siguiente:
ActiveSheet.Shapes.Range
la línea de código debería quedar así:
ActiveSheet.Shapes.Range(Array("Texto 2", "Línea 1")).Select
Lo de Range es porque estás seleccionando varias formas a la vez, un rango de formas.
Lo he probado con la macro de ejemplo que has enviado y en mi equipo, con este cambio que te comento, funciona perfectamente.
A ver si hay suerte.
------
Ya sé Excel, pero necesito más.