Hola
Soy un descuidado, y voy programando a empujones y sin ninguna planificación previa.
Como consecuencia de esto, es posible que algunas subrutinas realmente no se utilicen nunca en la hoja que tengo abierta.
En otros entornos de programación sé que hay algunos métodos para localizar las subrutinas que nunca son ejecutadas a lo largo del código.
¿Es posible hacer esto en Excel? ¿Hay alguna orden de menú o de otra forma que sirva para localizar variables nunca utilizadas, trozos de código que no se utilizarán nunca, subrutinas que no son llamadas desde ningún sitio?
Saludos
prueba con esta herramienta MZTools, que es freeware para VBA
http://www.mztools.com/v3/mztools3.aspx
no es perfecto, pero tiene utilidades interesantes.
Para esto que comentas, tiene una utilidad denominada Revisar código fuente, que te dice variables que no se utilizan y cosas por el estilo.
Haciendo doble clic sobre un resultado salta hasta el lugar del código donde se encuentra lo que ha encontrado.
Si lo pruebas, cuéntanos qué tal te ha resultado.
------
Ya sé Excel, pero necesito más.
Muchas gracias. Lo probaré.
Bueno, eso me busca variables declaradas y no utilizadas.
No encuentra lo contrario, es decir, variables utilizadas y no declaradas. Sería útil porque cuando utilizas una variable que no ha sido declarada, se declara automáticamente como variant, con el consiguiente uso de memoria superior a según qué tipos de otras variables.
Tampoco me hace un seguimiento de procedimientos o métodos escritos y a los que no se les llama desde ningún lado, que es lo que yo pretendía.
Lo más parecido que he encontrado es la opción "Procedimientos llamantes", pero es individual del procedimiento en el que se encuentra el cursor, por lo que debería hacerlo en todos los procedimientos uno por uno, y como que no.
De todas maneras, parece que hay algunas cosas interesantes. Lo dejaré instalado porque seguro que lo utilizo.
Un saludo
respecto de las variables, hace tiempo que opté por forzar la declaración de todas las variables con
Option Explicit
así tengo que declarar todas y cada una de las variables que utilizo.
Si añades ahora, a toro pasado, Option Explicit al principio de tu código y depuras el código te aparecerá un error por cada variable no declarada. Puedes pasar una tarde entretenida con esto.
Respecto de los procedimientos, es que se pueden llamar desde muchos sitios, desde otro procedimiento, pero también desde un botón en la hoja (ya sea control activeX, que sí tiene un código, pero puede ser un control de formulario, donde la macro asociada es una propiedad del botón) incluso se pueden ejecutar desde el listado de macros del libro o desde un botón personalizado de la cinta de opciones, con lo cual es digamos a petición del usuario, no sigue ninguna lógica. Vamos, que el hecho de que no se llame desde otro lugar del código no quiere decir que no se utilice.
------
Ya sé Excel, pero necesito más.