Cadenas y fechas – Clase 7 – Programación del Excel con VBA

Excel Hecho Fácil
21 May 201320:34

Summary

TLDREste tutorial en español, presentado por Andrés Rojas Moncada desde Colombia, es la séptima clase de un curso avanzado de Excel utilizando Visual Basic para Aplicaciones (VBA). Se centra en los elementos del lenguaje VBA, específicamente el manejo de cadenas y fechas. Explica la diferencia entre cadenas de longitud fija y variable, y cómo declararlas en VBA. Además, se discute la importancia de usar el tipo de datos 'date' para trabajar con fechas, y se contrasta el rango de fechas en VBA con el de la interfaz de usuario de Excel. El presentador también destaca la precisión de VBA al interpretar fechas, incluyendo casos especiales como el 29 de febrero de 1900, y anima a los estudiantes a pensar en cómo validar fechas en formularios de Excel.

Takeaways

  • 😀 El vídeo es un tutorial sobre programación avanzada de Excel utilizando Visual Basic.
  • 🌐 El presentador, Andrés Rojas Moncada, les da la bienvenida a los suscriptores y los invita a suscribirse para recibir notificaciones.
  • 📘 Se aborda la clase número siete, que trata sobre el manejo de cadenas y fechas en Visual Basic.
  • 🔍 Se explica que en Visual Basic, las cadenas de texto se pueden declarar de longitud fija o variable, con un máximo teórico de 2000 millones de caracteres.
  • 📏 Se destaca la diferencia entre cadenas de longitud fija y variable, y cómo se declaran en Visual Basic.
  • 📊 Se muestra cómo se pueden asignar valores a cadenas y cómo se utiliza la función 'Len' para determinar su longitud.
  • ⚠️ Se advierte sobre los riesgos de memoria al trabajar con cadenas largas en Visual Basic.
  • 📅 Se menciona que, aunque se pueden almacenar cadenas que parecen fechas, no se deben utilizar para cálculos de fecha.
  • 📈 Se recomienda el uso del tipo de datos 'Date' para trabajar con fechas en Visual Basic, debido a su rango amplio y precisión.
  • 📝 Se contrasta el manejo de fechas en la interfaz de usuario de Excel con el manejo desde Visual Basic, señalando diferencias y limitaciones.

Q & A

  • ¿Qué temas trata la clase número siete del curso de programación de Excel con Visual Basic?

    -La clase número siete trata sobre los elementos de lenguaje Visual Basic, específicamente el trabajo con cadenas y fechas.

  • ¿Cuál es la diferencia entre las cadenas de longitud fija y las de longitud variable en Visual Basic?

    -Las cadenas de longitud fija se declaran con un número específico de caracteres entre 1 y 65,400, mientras que las cadenas de longitud variable pueden contener hasta 2,000 millones de caracteres teóricamente.

  • ¿Cómo se declara una variable de tipo String de longitud fija en Visual Basic?

    -Se declara usando el símbolo asterisco (*) y un número que indica la cantidad máxima de caracteres permitidos, por ejemplo: Dim nombre As String * 10.

  • ¿Qué función interna de Visual Basic se utiliza para contar los caracteres de una cadena?

    -La función interna 'Len' se utiliza para contar los caracteres de una cadena en Visual Basic.

  • ¿Cuál es el rango de fechas que Visual Basic para aplicaciones puede manejar?

    -Visual Basic para aplicaciones puede manejar fechas desde el 1 de enero del año 100 hasta el 31 de diciembre del año 9999.

  • ¿Por qué se recomienda usar el tipo de datos 'date' en lugar de 'String' para trabajar con fechas en Visual Basic?

    -Se recomienda usar 'date' porque permite realizar cálculos de fecha, como saber qué día de la semana es una fecha o calcular el número de días entre dos fechas, que no son posibles con cadenas que contienen fechas.

  • ¿Cuál es el rango de fechas admitido por Excel desde su interfaz de usuario?

    -El rango de fechas en Excel desde la interfaz de usuario es desde el 1 de enero de 1900 hasta el 31 de diciembre de 9999.

  • ¿Cómo se interpreta Excel la fecha 29 de febrero de 1900 desde la interfaz de usuario?

    -Aunque el año 1900 no es un año bisiesto, Excel interpreta la fecha 29 de febrero de 1900 como una fecha válida y no como una cadena de texto.

  • ¿Cómo se debe escribir una fecha en Visual Basic para que sea interpretada correctamente?

    -Las fechas en Visual Basic se deben escribir en el formato 'mes día año', por ejemplo: #5/29/1900# para el 29 de mayo de 1900.

  • ¿Cómo se puede validar una fecha en Visual Basic para evitar errores como el 29 de febrero en un año no bisiesto?

    -Se puede validar una fecha en Visual Basic utilizando funciones que comprueben si la fecha introducida es válida dentro del rango y los límites de días por mes y año.

Outlines

00:00

📘 Introducción al Curso de Excel Avanzado con Visual Basic

El presentador, Andrés Rojas Moncada, da un cálido saludo a los suscriptores del canal y se presenta como anfitrión del tutorial. Invita a los espectadores a suscribirse para recibir notificaciones de nuevos contenidos. Comienza la clase número siete, enfocándose en la programación de Excel con Visual Basic, abordando la cuarta parte de los elementos del lenguaje Visual Basic, específicamente el manejo de cadenas y fechas. Destaca que, aunque el tema no es complejo, es crucial entender ciertos aspectos para evitar problemas en el desarrollo de proyectos con Visual Basic en Excel. Aclarará conceptos sobre 'cadenas' y 'fechas', mencionando las diferencias entre cadenas de longitud fija y variable, y cómo se manejan en el entorno de programación de Excel.

05:00

🔡 Explorando el Manejo de Cadenas en Visual Basic

En este párrafo, se explica cómo Visual Basic para Aplicaciones (VBA) maneja las cadenas de texto. Se menciona que VBA permite el almacenamiento de texto en variables de tipo String, que pueden ser de longitud variable o fija. Se destaca la capacidad de las cadenas de longitud variable de alcanzar hasta 2000 millones de caracteres, mientras que las de longitud fija están limitadas a 65,400 caracteres. Además, se aconseja precaución al trabajar con cadenas largas para no agotar la memoria del equipo. Se ilustra cómo se declaran y manipulan estas variables en VBA, utilizando la función 'Len' para mostrar la longitud de las cadenas en pantalla. También se menciona la importancia de comprender estos conceptos para evitar errores catastróficos en el desarrollo de programas.

10:02

📆 Trabajando con Fechas en Visual Basic y Excel

El presentador habla sobre el manejo de fechas en VBA y desde la interfaz de usuario de Excel, aclarando que aunque VBA permite almacenar fechas en variables de tipo 'date', las cadenas que parecen fechas no se pueden usar para cálculos de fecha. Se enfatiza la utilidad del tipo de datos 'date' para trabajar con fechas y horas en VBA, que soporta fechas desde el año 100 hasta el año 9999. Se describe la diferencia en el rango de fechas soportadas por la interfaz de usuario de Excel (1900-9999) y cómo esto puede causar problemas si se introducen fechas fuera de este rango. Se menciona un error específico de Excel al interpretar el 29 de febrero de 1900 como una fecha válida, a pesar de que el año 1900 no es bisiesto. Se sugiere trabajar con Visual Basic para evitar estos problemas y se invita a los espectadores a reflexionar sobre cómo validar fechas en formularios de Excel.

15:21

🛠️ Construcción y Validación de Fechas en Visual Basic

En este segmento, se muestra cómo construir una fecha en VBA utilizando la función 'Date Serial', que es similar a la función 'fecha' de Excel. Se contrasta la precisión de VBA al manejar fechas con la limitación de la interfaz de usuario de Excel, donde incluso fechas inválidas como el 29 de febrero de 1900 son aceptadas. Se destaca la importancia de conocer el formato correcto para definir fechas en VBA (mes, día, año) y se menciona que el sistema operativo puede mostrar las fechas en un formato diferente (día, mes, año). Se invita a los espectadores a pensar en cómo validar fechas en formularios de Excel para usuarios que no están familiarizados con los límites de los meses o los años bisiestos, proponiendo un ejercicio de reflexión para los espectadores y prometiendo revisar sus comentarios en un futuro video tutorial.

20:22

👋 Despedida y Agradecimientos

El presentador Andrés Rojas Moncada cierra el video tutorial agradeciendo a sus colegas y a los espectadores por su atención. Anima a los espectadores a calificar el video con un 'me gusta' y les anuncia que volverán a vernos en una próxima oportunidad. Se cierra el video con un despedida cordial, reafirmando la conexión con el público y dejando la puerta abierta para futuras sesiones de aprendizaje.

Mindmap

Keywords

💡Visual Basic

Visual Basic es un lenguaje de programación de alto nivel que permite a los usuarios crear aplicaciones de software. En el vídeo, se utiliza Visual Basic para aplicaciones (VBA) para programar en Excel, permitiendo automatizar tareas y crear macros. Se menciona que VBA puede manejar tanto números como texto o cadenas, y se explora cómo se trabaja con cadenas y fechas en este entorno.

💡Cadenas

Las cadenas son secuencias de caracteres que se utilizan para representar texto en la programación. En el vídeo, se explica que en VBA, las cadenas se almacenan en variables de tipo String, y se pueden declarar de longitud fija o variable. Se menciona que las cadenas de longitud variable pueden contener hasta 2000 millones de caracteres, mientras que las de longitud fija varían entre 1 a 65,400 caracteres.

💡Longitud fija y variable

Estos términos se refieren a las dos formas en que se pueden declarar las cadenas en VBA. Las cadenas de longitud fija tienen un número específico de caracteres asignado, mientras que las de longitud variable pueden cambiar dinámicamente. En el vídeo, se ejemplifica cómo se declaran y se asignan valores a estas variables, y se menciona la función interna `Len` para contar caracteres.

💡Fechas

Las fechas son un tipo de datos que representan una instante específico en el tiempo. En el vídeo, se discute cómo se manejan las fechas en VBA, utilizando el tipo de datos `Date`. Se menciona que VBA puede almacenar fechas desde el año 100 hasta el año 9999, y se contrasta con la forma en que Excel maneja las fechas desde su interfaz de usuario.

💡Tipo de datos Date

El tipo de datos `Date` en VBA es específico para almacenar fechas y horas. Se destaca que es la mejor opción para trabajar con fechas en VBA, ya que permite realizar cálculos y operaciones con fechas de manera precisa. En el vídeo, se muestra cómo se asigna una fecha a una variable de tipo `Date` utilizando el símbolo #.

💡Función Date Serial

La función `Date Serial` en VBA se utiliza para construir una fecha a partir de sus componentes individuales: año, mes y día. En el vídeo, se ejemplifica cómo se utiliza esta función para crear fechas en VBA, contrastando con la función `Fecha` en Excel, que funciona de manera similar.

💡Excel avanzado

El término 'Excel avanzado' se refiere a la utilización de técnicas y herramientas más complejas dentro del programa Excel, como la programación con VBA. El vídeo forma parte de un curso de 'Excel avanzado' que enseña a los usuarios cómo utilizar VBA para automatizar tareas en Excel.

💡Interfaz de usuario de Excel

La interfaz de usuario de Excel es el conjunto de elementos visuales y controles a través de los cuales los usuarios interactúan con el programa. En el vídeo, se menciona que, a diferencia de VBA, la interfaz de usuario de Excel tiene un rango limitado para las fechas y puede interpretar cadenas como fechas incorrectamente.

💡Selector de tipos de datos

El selector de tipos de datos en Excel es una herramienta que permite identificar y cambiar el formato de los datos en una celda. En el vídeo, se utiliza para demostrar cómo Excel interpreta cadenas como fechas y cómo se ven afectadas por las configuraciones regionales y del idioma.

💡Validación de fechas

La validación de fechas es el proceso de verificar si una fecha introducida por el usuario es correcta y válida. En el vídeo, se invita a los espectadores a pensar en cómo podría implementarse la validación de fechas en VBA, considerando errores comunes como la inclusión del 29 de febrero en años no bisiestos.

Highlights

Saludo a los suscriptores y presentación del tutorial de Excel avanzado con Visual Basic.

Invitación a suscribirse al canal para recibir notificaciones de nuevos videos.

Comienzo de la clase número siete, enfocándose en el trabajo con cadenas y fechas en Visual Basic.

Explicación de la importancia de entender cómo trabajar con cadenas y fechas para evitar problemas en la programación de Excel.

Diferenciación entre cadenas de longitud fija y variable en Visual Basic.

Máximo de caracteres que puede contener una cadena de longitud variable en Visual Basic.

Máximo de caracteres permitidos para cadenas de longitud fija y su impacto en la memoria.

Demostración de cómo delimitar cadenas en Visual Basic y su representación en Excel.

Uso de la función interna `Len` para contar caracteres en una cadena en Visual Basic.

Ejemplo de cómo se asigna y muestra la longitud de una cadena variable en Visual Basic.

Ejemplo de cómo se asigna y muestra la longitud de una cadena fija en Visual Basic.

Consecuencias de asignar más caracteres de los permitidos a una cadena fija en Visual Basic.

Limitaciones y consideraciones al trabajar con cadenas de longitud fija en Visual Basic.

Diferencia entre el manejo de fechas como cadenas y el uso del tipo de datos `Date` en Visual Basic.

Rango de fechas soportado por Visual Basic y su comparación con el rango en Excel.

Importancia de usar el tipo de datos `Date` para realizar cálculos de fecha en Visual Basic.

Demostración de cómo se asigna una fecha a una variable del tipo `Date` en Visual Basic.

Comparación del rango de fechas en la interfaz de usuario de Excel con el soportado por Visual Basic.

Problemas al introducir fechas fuera del rango admitido por Excel desde la interfaz de usuario.

Ejemplo de cómo Excel interpreta la fecha 29 de febrero de 1900 y su implicación.

Validación de fechas en Visual Basic para evitar errores en la programación de Excel.

Conclusión sobre la importancia de comprender los sistemas de números de matriz de Excel y Visual Basic para trabajar con fechas.

Invitación a los espectadores a participar en la discusión sobre la validación de fechas en los comentarios.

Agradecimientos y despedida del presentador, Andrés Rojas Moncada.

Transcripts

play00:00

Hola y bienvenidos a este videot

play00:02

tutorial primero que todo un caluroso

play00:05

saludo a todos los suscriptores del

play00:07

Canal les habla a su colega y compañero

play00:10

de estudio Andrés rojas Moncada desde

play00:13

Colombia para el mundo por otro lado si

play00:16

es la primera vez que observas uno de

play00:18

mis videos te animo a que te suscribas

play00:20

al Canal con esto recibirás

play00:22

notificaciones en la bandeja de entrada

play00:24

de tu correo electrónico cuando cuelgue

play00:26

un video o Cuando suba las clases

play00:28

posteriores de este magnífico curso de

play00:30

Excel avanzado usando desde luego visual

play00:33

basic para aplicaciones como Ven ahora

play00:37

comenzamos la clase número siete del

play00:39

curso programación del Excel con visual

play00:41

basic esta vez cubriendo la parte cuatro

play00:45

de los elementos de lenguaje visual

play00:46

basic en la cual trataremos el trabajo

play00:49

con cadenas y fechas como podrán

play00:52

observar esta clase no es tan extensa

play00:55

como las anteriores ya que no constituye

play00:58

un tema demasiado complejo de explicar

play01:00

pero he decidido incluirlo pues es

play01:02

necesario aclarar ciertos aspectos que

play01:05

deben contemplarse a la hora de escribir

play01:07

proyectos visual basic sin embargo no

play01:11

tratarlos pueda quizás ocasionar

play01:13

problemas fatales y desgaste en el

play01:15

programador a la hora de trabajar con

play01:17

cadenas y fechas desde el entorno de

play01:20

programación del Excel sin más

play01:23

abordaremos estos dos aspectos de los

play01:25

cuales les quiero hablar haciendo

play01:27

alusión a las cadenas o Stream que en

play01:30

pocas palabras constituyen el trabajo

play01:32

contexto desde la programación visual

play01:35

bisy en este contexto mencionaremos las

play01:38

cadenas de longitud fija y las cadenas

play01:40

de longitud variable además observaremos

play01:43

unos cuantos detalles Al momento de

play01:46

escribir fechas donde hablaremos de la

play01:48

función de hoja llamada fecha el tipo de

play01:51

datos date y la función interna llamada

play01:54

day serial para comenzar iniciaré

play01:57

diciendo que visual basic para

play01:59

aplicación

play02:00

al igual que Excel puede manipular tanto

play02:03

números como texto o cadenas sin embargo

play02:06

en visual basic el texto que se almacena

play02:09

en una variable de tipo String puede

play02:11

declararse opcionalmente delimitando el

play02:14

número de

play02:15

caracteres usted podrá comprobar esta

play02:18

afirmación si obtiene la tabla que

play02:20

muestra el resumen de tipos de datos de

play02:23

la ayuda del editor de visual basic en

play02:26

dicha tabla usted podrá corroborar que

play02:28

el tipo de dato String de longitud

play02:31

variable puede contener en teoría Hasta

play02:34

2000 millones de caracteres es decir lo

play02:38

que comúnmente se conoce como cadenas de

play02:41

longitud variable por otro lado en la

play02:44

última tabla también se especifica el

play02:47

tipo de datos String de longitud fija el

play02:51

cual se declara con un número específico

play02:53

de caracteres que oscilan entre 1 a

play02:58

65,400 aox proximadamente es decir lo

play03:01

que comúnmente se conoce como cadenas de

play03:04

longitud fija cuyo valor máximo es

play03:08

65,400 caracteres cabe Resaltar que cada

play03:13

caráter de una cadena necesita un byte

play03:16

para guardarse y una pequeña cantidad

play03:19

extra de 10 by de almacenamiento para el

play03:22

encabezado de cada cadena Así que mucho

play03:24

cuidado cuando trabaje con texto o

play03:26

cadenas en algún procedimiento ya que

play03:29

puede agotar la memoria de su equipo sin

play03:31

darse cuenta vayamos al Excel para ver

play03:34

en detalle Cómo delimitar

play03:38

cadenas antes de continuar Les comento

play03:41

que para seguir esta clase ustedes

play03:43

pueden optar por descargar el libro de

play03:45

trabajo de Excel de esta sesión

play03:47

Obviamente el enlace del archivo lo dejo

play03:50

comentado en la descripción de este

play03:52

video como puede observar me he ubicado

play03:55

dentro del editor de visual basic y he

play03:58

abierto el módulo llamado cadenas en él

play04:01

encontraremos nuestro primer

play04:03

procedimiento llamado cadena longitud

play04:06

variable como puede apreciar las dos

play04:09

primeras líneas de código declaran dos

play04:11

variables a las cuales les hemos

play04:13

asociado a un tipo de datos String o

play04:15

cadena sin embargo fíjese que este tipo

play04:19

de declaración de variables permite que

play04:21

visual basic controle de forma dinámica

play04:24

la longitud de la cadena esto se

play04:27

comprueba mirando las dos líneas de

play04:29

código siguientes que se encuentran en

play04:31

el procedimiento la cual asignan a la

play04:33

variable nombre una cadena de texto del

play04:36

cual Se imprime su longitud en pantalla

play04:39

por otro lado las dos líneas de código

play04:42

siguientes hacen exactamente la misma

play04:44

tarea pero en este caso la variable

play04:47

respuesta se carga con una cadena un

play04:50

poco más larga del cual también Se

play04:52

imprime su longitud en pantalla en

play04:55

cualquier caso observe que hemos usado

play04:58

la función interna de visual basic

play05:00

llamada len la cual nos sirve para

play05:02

contar los caracteres de una cadena o

play05:05

String adelante ejecutemos el

play05:20

procedimiento como pudo darse cuenta la

play05:23

función interna de visual basic len

play05:26

recibe como argumento la variable que

play05:28

contiene la cadena o String si Seguimos

play05:32

avanzando encontraremos el segundo

play05:34

procedimiento llamado cadena longitud

play05:37

fija en él usted podrá apreciar la forma

play05:41

en Cómo se debe especificar y delimitar

play05:44

la longitud de una cadena que contendrá

play05:47

una variable de tipo String Obviamente

play05:50

si se conoce su longitud de modo

play05:53

anticipado fíjese que la declaración de

play05:56

las dos variables es bastante similar a

play05:58

las declaraciones del el procedimiento

play06:00

anterior Pero ahora especificamos con el

play06:03

símbolo asterisco y un número la

play06:06

cantidad de caracteres máxima que se

play06:08

permitirá para las variables es decir 10

play06:11

caracteres para la variable teléfono y

play06:14

cinco caracteres para la variable cod

play06:17

postal como cabría imaginar las dos

play06:20

líneas de código siguientes asignan a la

play06:23

variable teléfono una cadena de 10

play06:26

caracteres que representa un número de

play06:28

teléfono que luego con el uso de la

play06:30

función interna len es mostrada en

play06:33

pantalla la cantidad de caracteres de

play06:35

dicha variable si avanzamos un poco más

play06:39

podremos observar ahora que las tres

play06:41

líneas de código siguientes asignan a la

play06:44

variable cod postal una cadena de texto

play06:47

Alfa numérica que supera el límite

play06:50

máximo de caracteres aceptado por esta

play06:53

variable es decir cinco caracteres

play06:56

además de ello seguimos usando la

play06:58

función len que nos sirve para contar

play07:01

los caracteres de una cadena o stram

play07:04

ejecutemos el procedimiento y veamos Qué

play07:19

sucede si prestó atención a los mensajes

play07:22

impresos en pantalla logró darse cuenta

play07:25

que en la segunda impresión la variable

play07:27

cod postal solo mostraba una cadena de

play07:30

cinco

play07:31

caracteres esto sucedió porque

play07:34

previamente le indicamos a dicha

play07:36

variable que almacenara solo esa

play07:38

cantidad de caracteres por lo tanto al

play07:41

cargar o asignar a la variable cod

play07:44

postal con más caracteres de los que

play07:46

podía recibir esta solo tomará los

play07:49

primeros cinco caracteres de cualquier

play07:51

cadena que se le asigne y supere su

play07:54

límite en pocas palabras una variable

play07:57

declarada como tipo de datos Stream de

play07:59

longitud fija no almacenará más

play08:02

caracteres de los permitidos por más

play08:04

largas que sean las cadenas que se le

play08:06

asignen sin embargo tenga en cuenta que

play08:09

una variable de tipo Stream de longitud

play08:11

fija solo aceptará

play08:14

65,400 caracteres como límite máximo

play08:17

para dicha variable Al momento de

play08:20

declararla ojo con

play08:23

eso yo sé que mucho de lo que he dicho

play08:25

hasta ahora y de lo que diré usted

play08:28

quizás pueda ya saberlo inclusive puede

play08:30

ser demasiado obvio pero la verdad He

play08:33

querido montar esta clase para cubrir la

play08:36

temática completa de Este magnífico

play08:38

curso sin dejar escapar en lo más mínimo

play08:41

conceptos que por muy sencillos y

play08:43

triviales que parezcan puedan ocasionar

play08:45

un problema catastrófico por su

play08:47

desconocimiento Así que

play08:49

continuemos en visual basic para

play08:52

aplicaciones usted puede utilizar una

play08:55

variable de tipo Stream o cadena para

play08:57

almacenar fechas sin sin embargo debe

play09:00

tener en cuenta que no se trata de una

play09:02

fecha real ya que aunque la cadena

play09:05

contenga algo que parezca una fecha

play09:07

usted jamás podrá utilizar dicha cadena

play09:10

para hacer cálculos de fecha con ella

play09:12

Como por ejemplo saber qué día de la

play09:14

semana es una fecha o quizás calcular el

play09:17

número de días transcurridos entre dos

play09:19

fechas o algo por el estilo por lo tanto

play09:22

le recomiendo que utilice el tipo de

play09:25

datos date como la mejor forma de

play09:28

trabajar con fechas desde el entorno

play09:30

visual basic por ello Usted debe saber

play09:33

que una variable declarada bajo el tipo

play09:35

de datos date puede contener fechas que

play09:38

van desde el primero de enero del año

play09:40

100 hasta el 31 de diciembre del año

play09:45

9999 Estos son aproximadamente 10,000

play09:49

años lo que Supongo es más que

play09:51

suficiente incluso para las proyecciones

play09:53

financieras más agresivas por otro lado

play09:56

el tipo de datos date también es muy

play09:59

útil para almacenar datos relacionados

play10:01

con el tiempo es decir horas minutos y

play10:05

segundos lo que supone una ventaja a la

play10:08

hora de calcular el más mínimo detalle

play10:10

Que involucre tiempos esto es importante

play10:13

y no debe olvidarlo en visual basic se

play10:16

utiliza el símbolo numeral para asignar

play10:19

correctamente una fecha a una variable

play10:22

declarada como del tipo de datos date

play10:25

Así que pilas con esto déjeme explicarle

play10:28

unos conceptos más que le servirán a

play10:30

usted como futuro programador por ello

play10:32

vayamos al

play10:36

Excel fíjese que ahora me encuentro en

play10:39

la interfaz de usuario de Excel y usted

play10:41

Se preguntará Por qué si este es un

play10:43

curso de visual basic ahora utilizamos

play10:45

la interfaz de usuario del Excel a lo

play10:48

que yo debo responder que a fin de

play10:50

cuentas todo lo que hagamos desde el

play10:52

entorno de programación visual basic se

play10:54

verá reflejado de una u otra manera en

play10:57

la interfaz de usuario de este

play10:58

aplicativo io obviamente para mejorar O

play11:02

automatizar Muchas tareas que nos

play11:04

faciliten el trabajo con

play11:06

Excel Pero eso no es lo que me ha traído

play11:09

hasta acá mi idea es mostrarle cómo

play11:11

Excel maneja de manera muy diferente y

play11:14

distinta las fechas desde el entorno de

play11:16

programación visual basic y desde la

play11:18

interfaz de usuario para empezar

play11:21

recuerde que hace un par de minutos le

play11:23

comenté que el rango de fechas en visual

play11:25

basic comprende desde el primero de

play11:27

enero del año 100 hasta el 31 de

play11:29

diciembre del año

play11:32

9999 como deducirá es un Rango bastante

play11:36

amplio pero desde la interfaz de usuario

play11:39

del Excel el rango de fechas es mucho

play11:41

más limitado este va desde el primero de

play11:44

enero del año 1900 hasta el 31 de

play11:47

diciembre del año

play11:50

9999 por tanto debemos tener cuidado de

play11:54

no intentar utilizar una fecha en una

play11:56

hoja que no se encuentre dentro del

play11:58

Rango admitido por Excel desde la

play12:00

interfaz de usuario ya que esto

play12:02

generaría que lo que se ingrese como una

play12:04

posible fecha sea interpretado por Excel

play12:07

como una cadena de

play12:08

texto para ello fíjese que si nos

play12:11

ubicamos en las celdas que contienen los

play12:13

límites de fechas de Excel desde la

play12:16

interfaz de usuario el selector de tipos

play12:18

de datos nos mostrará que se trata de

play12:21

una fecha y además podemos utilizar las

play12:24

funciones de hoja de Excel que trabajan

play12:26

con fechas probemos

play12:46

sin embargo Excel desde la interfaz de

play12:49

usuario permite introducir algo que

play12:51

usted imaginaría es una fecha Pero la

play12:54

verdad es que estos valores que aparecen

play12:56

una fecha Excel los interpreta como una

play12:59

cadena de texto con lo cual no se podrán

play13:02

usar funciones de hoja del mismo Excel

play13:05

esto lo demuestra claramente el selector

play13:08

de tipos de datos al ubicarnos sobre una

play13:10

de estas celdas probemos

play13:32

ahora como podrá concluir Excel desde la

play13:35

interfaz de usuario no es muy útil para

play13:38

aquellas personas que trabajan con datos

play13:40

históricos Como por ejemplo arqueólogos

play13:44

bibliotecarios etcétera ya que aunque

play13:46

Excel les permite introducir algo que

play13:49

pareciera ser una fecha en realidad no

play13:51

lo es y por otro lado está el problema

play13:54

de las funciones de hoja Que obviamente

play13:57

no se pueden aplicar a estas celdas ya

play13:59

que arrojaría error de valor Así que es

play14:03

mejor trabajarlas desde el entorno de

play14:05

programación del Excel lo que es un

play14:07

pretexto más para aprender visual basic

play14:10

para

play14:13

aplicaciones continuando debo decirle

play14:15

que Excel desde la interfaz de usuario

play14:18

tiene un problema muy particular con una

play14:20

fecha es decir si intentamos introducir

play14:23

la fecha 29 de febrero del año 1900

play14:27

Excel inter este valor como una fecha y

play14:31

no como una cadena y aunque es de sobra

play14:34

conocido que el año 1900 no es un año

play14:36

visiesto Excel desde la interfaz de

play14:39

usuario así lo interpreta por lo que

play14:41

ASUME incorrectamente que dicho valor es

play14:44

una fecha y no una cadena probemos

play14:47

introducir el 29 de febrero del año 1900

play14:50

en una celda y luego observemos en el

play14:53

video El antes y después del selector de

play14:56

tipos de datos

play15:20

debo decirle que visual basic para

play15:23

aplicaciones no tiene este tipo de error

play15:26

ya que ASUME correctamente todas las

play15:29

fechas que componen su Rango de

play15:31

interpretación por otro lado observe que

play15:34

hemos usado la función de hoja de Excel

play15:36

llamada fecha para construir una fecha

play15:39

desde sus valores individuales Es decir

play15:42

desde el año mes y día sin embargo en

play15:46

unos momentos veremos el contraste desde

play15:49

el editor de visual

play15:52

basic Como le decía visual basy ASUME

play15:56

correctamente todas las fechas que

play15:59

componen su Rango de interpretación para

play16:02

ello observe que he abierto el módulo

play16:04

llamado fechas que está en el editor de

play16:06

visual basic como podrá observar el

play16:09

procedimiento llamado construir fecha

play16:12

contiene una sola línea de código que

play16:14

imprime en pantalla una fecha con la

play16:16

ayuda de la función interna de visual

play16:18

basic llamada date serial la cual

play16:21

constituye el equivalente de la función

play16:23

de hoja llamada fecha que construye una

play16:26

fecha desde sus valores individuales

play16:29

ejecutemos este

play16:35

procedimiento observe ahora comoo visual

play16:38

bisy interpreta que la fecha 29 de

play16:41

febrero del año 1900 no existe por lo

play16:45

que ASUME correctamente que el mes de

play16:47

febrero del año 1900 solo tiene 28 días

play16:52

con lo cual al escribir una fecha que

play16:54

supere el límite de días de un mes

play16:57

cualquiera visual bisy desplaza el

play17:00

exceso de días al siguiente mes Por ende

play17:03

el 29 de febrero del año 1900 es

play17:07

interpretado por visual basic como el

play17:09

primero de marzo del año

play17:14

1900 con esto podemos concluir que el

play17:17

sistema de números de matriz de Excel

play17:19

desde la interfaz de usuario no se

play17:22

corresponde exactamente con el sistema

play17:24

de números de matriz de visual basy el

play17:26

cual es más preciso y más amplio

play17:29

Esto es algo que Microsoft no ha

play17:31

trabajado exhaustivamente Así que hay

play17:33

que tener presente esto cuando

play17:35

intentemos trabajar con fechas desde

play17:37

cualquiera de las partes de Excel ya sea

play17:40

desde el editor de visual basic o desde

play17:42

la interfaz de

play17:44

usuario Otro aspecto importante que no

play17:46

quiero dejar escapar es el orden en el

play17:49

posicionamiento en que debemos escribir

play17:51

las fechas desde el editor de visual

play17:53

basic cuando usamos el símbolo numeral

play17:57

como puede observar el siguiente

play17:59

procedimiento llamado posición de fechas

play18:02

Define en la primera línea de código una

play18:05

constante que contiene una fecha dicha

play18:08

fecha siempre debe definirse utilizando

play18:11

el formato mes día año el cual es el

play18:15

formato impuesto por el editor de visual

play18:17

basic y que no se puede modificar

play18:20

intentemos ejecutar este

play18:24

procedimiento note que después de

play18:27

ejecutar el procedimiento el mensaje

play18:29

mostrado en pantalla trae una fecha con

play18:32

el formato de fechas de Windows que en

play18:35

muchos casos es Día mes año que es la

play18:39

configuración con que vino ajustado por

play18:42

defecto este y casi todos los equipos y

play18:45

obviamente se puede cambiar desde la

play18:48

configuración regional y de idioma del

play18:50

panel de control de

play18:54

Windows Bueno yo sé que es un abuso

play18:57

pedirles a ustedes algo pero lo que sí

play19:00

quiero que hagan es que se tomen un

play19:02

momento para imaginar cómo podrían

play19:04

validar una fecha desde el editor de

play19:06

visual bas es decir imaginen que la

play19:09

persona que va a utilizar su aplicativo

play19:12

no tiene el más mínimo conocimiento de

play19:14

lo que hemos hablado en esta clase y

play19:16

mucho menos Cuál es el límite de días de

play19:19

un mes cualquiera del año y lo que es

play19:21

peor que esa persona no conozca que el

play19:24

año de una fecha que vaya a introducir

play19:26

es visiesto y que considere incluir el

play19:29

29 de febrero de un año que ni siquiera

play19:32

tenga el 29 de febrero por tanto y sin

play19:36

temor a equivocarse plantee usted en los

play19:39

comentarios de este video cómo podría

play19:41

validar una fecha desde un formulario de

play19:44

Excel el cual le pida al usuario final

play19:47

que ingrese una fecha para realizar

play19:49

algún cálculo anímese no tenga miedo y

play19:52

escriba sus palabras sobre esta cuestión

play19:55

le prometo que las estaré revisando

play19:56

cuando tenga mi tiempo libre además Esto

play20:00

me ayudará a plantear el siguiente vide

play20:02

tutorial en el cual trataremos el

play20:04

segundo caso práctico que facilita el

play20:07

trabajo con fechas para despedirme solo

play20:10

me resta agradecer a mi colega Diana

play20:12

Jennifer por facilitarnos los

play20:14

instrumentos para montar esta clase y a

play20:16

ustedes por prestar toda su atención les

play20:19

habla a su colega y compañero de estudio

play20:21

Andrés rojas Moncada desde Colombia para

play20:24

el mundo no olviden calificar el video

play20:26

con la manito arriba nos vemos en la

play20:28

próxima oportunidad chao

Rate This

5.0 / 5 (0 votes)

Связанные теги
Visual BasicExcel AvanzadoProgramaciónCadenas de TextoFechas y FormatosTutorial de ExcelVBAAndrés Rojas MoncadaColombiaAutomatización
Вам нужно краткое изложение на английском?