Bienvenidos!!

A lo largo de estas páginas intentaré aportar algunos temas que puede ayudar a todo aquel que esté interesado en aprender VBA Excel en sus diversos, niveles. Espero a su vez todas aquellas aportaciones que puedan aportar y  enriquecer los temas tratados.

Para empezar trataré de desarrollar punto por punto los pasos lógicos para realizar un programa. De forma muy resumida diremos que todo pasa por tener muy claro lo que se quiere hacer y por aplicar estrategias de resolución y desarrollo adecuadas.

INTRODUCCIÓN
Aunque pueda parecer extraño, buena parte de los quebraderos de cabeza a los que nos enfrentamos programando derivan de no saber bien lo que queremos hacer. Esto responde al siguiente esquema:

Este sistema es posible pero muy poco recomendable ya que equivale a:

Lo cual implica, simplemente, comenzar una tarea sin la preparación necesaria. En el ejemplo del edificio sólo en situaciones de extrema sencillez (por ejemplo levantar un cuarto) el resultado será satisfactorio. En el resto de los casos la falta de método llevará a defectos o colapsos debido a la ausencia de proyecto, planos, cálculos, etc.
No podemos pretender desarrollar un programa simplemente en base a ideas, intuiciones, nociones. Necesitaremos método y esquemas claros que raramente estarán en nuestra cabeza. Necesitarán de un trabajo de desarrollo.
El buen programador, al igual que el buen proyectista en arquitectura, ha de tener claros cuáles son los pasos a ir dando para desarrollar una construcción sólida. La precipitación, la falta de reflexión o las prisas por terminar son malas consejeras.
Cada programador tiene sus propios esquemas de trabajo, pero en líneas generales podemos distinguir las siguientes fases en el desarrollo de un programa:

CONOCER EL PROBLEMA A RESOLVER

Como primer paso a la hora de desarrollar un programa tenemos que  «conocer el problema a resolver». Necesitaremos un conocimiento profundo de todos los aspectos relacionados con el problema, lo cual implica saber responder las siguientes preguntas:
1.     ¿Cuál es mi objetivo?
2.     ¿Cuáles son los condicionantes que afectan al problema?
3.     ¿Qué método o esquema de resolución voy a aplicar?
4.     ¿Cuáles son los datos de partida?
5.    ¿Qué resultado quiero obtener?
 
SOBRE EL OBJETIVO
A la hora de plantear un objetivo trataremos de subdividir la extensión y complejidad del problema hasta niveles lo más fácilmente abarcables por una persona, según la conocida estrategia del «divide y vencerás».
Aunque será la experiencia la que mejor nos guíe a la hora de plantear objetivos podemos usar esta regla: «Sólo trataremos de programar aquello que mentalmente somos capaces de abarcar en método, extensión y condicionantes».
Ejemplo: Supongamos que trabajamos en el sector de logística y almacenamiento de combustibles y venimos haciendo diversos cálculos manuales relativos a determinación de volúmenes de depósitos. Por cambios productivos se empiezan a instalar depósitos de formas geométricas muy diversas y decidimos programar para obtener volúmenes.
Posibles planteamientos de objetivos:
a)    Desarrollar un programa para el cálculo de volúmenes para cualquier forma de depósito contenedor de un líquido.
Comentarios: incumplimos la premisa de plantear algo que mentalmente seamos capaces de abarcar. Lo planteado posiblemente se puede programar, pero al nivel en que nos encontramos (somos programadores individuales y no expertos) el objetivo resultaría inalcanzable. Entre otras cosas por la gran cantidad de formas regulares (esferas, elipsoides, pirámides, conos, cuñas, paraboloides, hiperparaboloides, etc.) que en el caso de las irregulares o combinaciones entre irregulares se tornan en infinitas posibilidades. Los datos de partida y los métodos resultarían de extensión y complejidad inabarcable.
Condicionantes
Llamamos condicionantes a todos los factores que afectan a la resolución del problema. Después de tener un objetivo centrado y enfocado tendremos que valorar qué condicionantes nos afectan y si tenemos un conocimiento suficiente de ellos.
Métodos
 Una vez determinado el objetivo y conocidos los condicionantes, valorar el método o esquema de resolución para el problema planteado será el siguiente paso en el proceso de conocer el problema. Será una etapa más a cumplir antes de empezar a trabajar en su programación.
Cualquier método debe incluir unos datos de partida y va enfocado a obtener un resultado cierto y esperado.