En el mundo del libro es muy habitual trabajar con dos códificaciones equivalentes.
Por
un lado el ISBN (International Standard Book Number), que identifica a
cada libro de forma única, mediante 13 dígitos numéricos separados por
guiones.
Por el otro se usa el código EAN (European Article
Number), que se corresponde con lo mismo 13 dígitos, pero sin separador,
y que usualmente se muestra como un código de barras para facilitar la
lectura mecánica de los códigos.
En este ejemplo muestro como
eliminar los guiones de un ISBN, mediante la hoja de cálculo Microsoft
Excel y transformarlos en un código EAN 13.
Estableciendo una pausa entre instrucciones mediante VBA para Microsoft Excel.
El tercer elemento que necesitaremos para entender los bucles es la posibilidad de reproducirlo a cámara lenta.
Para ello lo que haremos es establecer una pausa entre las instrucciones.
El código usado en el ejemplo es el siguiente:
Primero mediante la instrucción Now se puede obtener la fecha y la hora actual.
Este es el aspecto que tiene.
TimeValue nos permite transformar una cadena de texto en un valor tipo fecha hora.
Mediante un MsgBox vemos su aspecto.
Si unimos estas dos instrucciones, podemos conseguir que mediante un condicional, no se ejecute la siguiente instrucción hasta que pase una cantidad de tiempo que sumemos al momento actual.
Suele sumarse un número de segundos a Now.
En el ejemplo sumamos 5 segundos TimeValue("00:00:05")
Se muestra un primer mensaje, y tras pulsar el botón Aceptar ....
Tras cinco angustiosos segundos de espera, se ejecuta la siguiente instrucción, mostrando el segundo mensaje.
Usaremos esta técnica para poder ver como se van ejecutando cada segundo las instrucciones en los bucles, ya que de forma contraria podría parecer que se ejecutan en un único paso.
Aquí tenéis el código VBA completo por si lo queréis copiar:
Option Explicit
Sub establecerPausa()
'con Now obtenemos la fecha y hora actual
MsgBox (Now)
'TimeValue permite transformar una cadena de texto en un valor Time de VBA
'TimeValue ("00:00:01") representa 1 segundo
MsgBox (TimeValue("00:00:01"))
'Application.Wait estable una pausa en el código hasta la fecha y hora indicadas
Hoy os muestro como cambiar el color de fondo (background) de una celda en una celda de Microsoft Excel mediante VBA.
Estas instrucciones serán muy útiles a la hora de usarlas en bucles, ya que harán muy visual la ejecución del bucle.
Para ello usaremos la instrucción Cells(n, m).Interior.Color, a la que asignaremos el color deseado.
Para definir el color usaremos el método RGB(rrr, ggg, bbb), que a partir de los valores de los tres colores primarios da como resultado el color elegido.
Podéis encontrar información sobre los componentes RGB en la wikipedia, por ejemplo en la siguiente url https://es.wikipedia.org/wiki/RGB
En este caso he usado el selector de color de Microsoft Paint para mostraros el color que se va a obtener.
El código usado en el ejemplo es el siguiente:
Y el resultado el que se muestra a continuación:
El código usado en el ejemplo es el siguiente (para copiar y pegar):