Cuántos de nosotros y en cuántas ocasiones hemos personalizado o utilizado ciertos formatos al momento de trabajar con tablas o cuadros que contienen información diversa, creo a mi entender que la mayoría por no decir todos. Y esto con el fin de tener una mejor comprensión y análisis de dicha información a trabajar.
Pero existen casos donde este análisis es repetitivo ya que se usa siempre el mismo criterio para el formato a emplear, es decir, nos encontramos frente a una operación constante y es ahí donde vemos que una alternativa para optimizar el trabajo a realizar en función al tiempo es el uso de una macro y como estamos hablando de formatos personalizados usaremos la estructura de control "With". A continuación veremos un ejemplo donde un asistente contable encargado del registro de compras necesita saber cuánto es el monto y a quienes se les debe retener ya que la empresa es "Agente Retendor de IGV" (es toda empresa indicada por SUNAT que tiene por misión retener- no pagar- el 6% del monto total a de las facturas que excedan los S/. 700.00 nuevos soles a sus proveedores).
Vemos que cada vez que el Monto Total exceda a los S/ 700.00 el asistente contable cambia el formato del registro de compras y además ingresa información en el cuadro de la derecha usando también el mismo formato.
Entonces para la solución de este repetitivo trabajo emplearemos el siguiente código.
Primero, utilizamos el "For i=4 to utl Step 1" para recorrer el registro de compras luego con el uso del "If" podemos validar que montos son los que cumplen la condición requerida.
Luego dentro del "If", hacemos uso del With el cual nos permite emplear la cantidad correcta de caracteres cuando en varias lineas se repite lo siempre mismo, en este caso siempre se va ha repetir "Cells(x,z).Font".
Y también es dentro de este "If" donde empleamos un "For" más para cada cuadro el cual nos servirá para recorrer las columnas de la fila en la que este trabajando el primer "For".
De esta manera optimizamos el tiempo disponible en esta operación.
al utilizar nuestra macro con el uso de "With" tendemos el registro de la siguiente manera:
(Para mayor visualización de la imagen, hacer click en la misma)
Es casi un hecho que a cada uno de nosotros se nos presentan ocasiones similares en los que el criterio de análisis y el formato a emplear son los mismos siempre entonces es la oportunidad perfecta de emplear una macro con el uso de la estructura de control "With".