MANUAL BÁSICO PARA EMPEZAR A TRABAJAR CON MACROS …

[Pages:43]MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS DE VISUAL

BASIC PARA EXCEL

Introducci?n al Visual Basic

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

?ndice

1. INTRODUCCION (a prop?sito de Visual Basic) ...................................................................... 4 2. OBJETIVOS ............................................................................................................................. 4 3. DESARROLLO DE LOS EJEMPLOS ........................................................................................... 5

3.1. Creaci?n de un "bot?n" que al apretarlo escriba HOLA. .............................................. 5 3.2. Acumulaci?n de "HOLA"'s en la misma celda. .............................................................. 6 3.3. Acumulaci?n de texto en varias diagonales sucesivas.................................................. 7 3.4. Programaci?n de series de Fibonacci............................................................................ 8 4. NUEVOS EJEMPLOS: OBTENCI?N DE N?MEROS PRIMOS .................................................. 18 5. CONCLUSIONES ...................................................................... ?Error! Marcador no definido. 6. ANEXO (Sentencias y funciones habituales) ....................................................................... 23 6.1. Problemas con variables (?por qu? no se dejan definir las variables?) ...................... 24

6.1.1. Option Explicit: .................................................................................................... 24 6.1.2. Dim.... As [Integer, Double, String, Boolean...]:................................................... 24 6.2. Condici?n If..., etc. (diversas posibilidades): ............................................................... 24 6.2.1. Select Case........................................................................................................... 25 6.2.2. Ejemplos de utilizaci?n........................................................................................ 25 6.3. Bucles: For... To ... Next/Do While... Loop/Do Loop... Until (Utilizaci?n y posibles problemas): ............................................................................................................................. 25 6.3.1. Do... Loop Until.................................................................................................... 25 6.3.2. Do While... Loop .................................................................................................. 26 6.3.3. For... To... Next .................................................................................................... 26 6.3.4. With ..................................................................................................................... 27 6.4. Coordenadas polares: ?C?mo pasar de coordenadas cartesianas (x,y) a polares (r,)?:

28 6.4.1. Radio (calculado a partir de las coordenadas x e y de los puntos en cuesti?n) r = RaizCuadrada(x^2+y^2):...................................................................................................... 28 6.4.2. ?ngulo (calculado a partir de las coordenadas x e y de los puntos en cuesti?n) =Arctan (x/y): .................................................................................................................... 28 6.5. Cambiar criterios de ordenaci?n:................................................................................ 29 6.6. Men?s... ....................................................................................................................... 29 6.7. Para Ordenar ............................................................................................................... 30 6.8. Quitar el signo de los n?meros convertidos en string: ............................................... 30

1

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

6.9. Cuando queremos poner referencias relativas a variables en la f?rmula: ................. 30 6.10. Temporizador: ......................................................................................................... 30 6.11. Funciones: ............................................................................................................... 30 6.12. Zoom de la ventana:................................................................................................ 31 6.13. Para cancelar el bot?n:............................................................................................ 31 6.14. Procedimiento que empieza con un formulario: .................................................... 31 6.15. Otro modo de cambiar el color: .............................................................................. 31 6.16. Para abrir un formulario:......................................................................................... 31 6.17. Para ocultar un formulario: ..................................................................................... 31 6.18. Procedimiento que empieza autom?ticamente: .................................................... 31 6.19. Borrar Menu: ........................................................................................................... 32 6.20. Crear Rango: ............................................................................................................ 32 6.21. Entero y Logaritmo:................................................................................................. 32 6.22. Poner bordes: .......................................................................................................... 32 6.23. Pregunta un n?mero: .............................................................................................. 33 6.24. Ventana de mensajes: ............................................................................................. 33 6.25. Se mueve a la siguiente celda a la derecha:............................................................ 33 6.26. Pegado transpuesto: ............................................................................................... 33 6.27. Copiar un rango de una p?gina a otra:.................................................................... 33 6.28. Definici?n de Rango Autom?tico: ........................................................................... 33 6.29. C?lculo de M?ximo:................................................................................................. 33 6.30. Formato interior de Celda: ...................................................................................... 34 6.31. Enteros aleatorios entre l?mites: ............................................................................. 34 6.32. Suprimir los cuadraditos en un texto importado: ................................................... 34 6.33. Seleccionar los caracteres en una celda Excel: ....................................................... 35 6.34. Insertar autom?ticamente retornos de carro en un texto:..................................... 36 6.35. Comodines de b?squeda:........................................................................................ 36 6.36. Extraer el c?digo postal de una direcci?n: ................. ?Error! Marcador no definido. 6.37. Reemplazar un car?cter en una variable:................................................................ 37 6.38. Reemplazo complejo conservando los 0:................................................................ 37 6.39. Espacios que no lo son: .............................................. ?Error! Marcador no definido. 6.40. Suprimir espacios: ................................................................................................... 38

2

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

6.41. Lista de las letras del alfabeto:................................................................................ 38 6.42. Conversi?n de n?meros en letras: ............................. ?Error! Marcador no definido. 6.43. Extraer una cadena de texto en medio de otra: ..................................................... 38 6.44. Quitar los n?meros de una cadena de caracteres: ................................................. 39 6.45. Buscar una cadena de caracteres en otra: .............................................................. 39 6.46. Trocear una frase sin cortar las palabras: ............................................................... 40 6.47. ?ltima palabra de una frase: ................................................................................... 41 6.48. Inserci?n de un car?cter especial:.............................. ?Error! Marcador no definido. 6.49. Borrar el car?cter de la derecha:............................................................................. 41 6.50. Comprobar la presencia de una cadena de caracteres: .......................................... 41 7. Ejercicios Visual Basic .......................................................................................................... 41

3

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

1. INTRODUCCION (a prop?sito de Visual Basic)

Visual Basic para aplicaciones es una combinaci?n de un entorno de programaci?n integrado denominado Editor de Visual Basic y del lenguaje de programaci?n Visual Basic, permitiendo dise?ar y desarrollar con facilidad programas en Visual Basic. El t?rmino "para aplicaciones" hace referencia al hecho de que el lenguaje de programaci?n y las herramientas de desarrollo est?n integrados con las aplicaciones del Microsoft Office (en este caso, el Microsoft Excel), de forma que se puedan desarrollar nuevas funcionalidades y soluciones a medida, con el uso de estas aplicaciones.

El Editor de Visual Basic contiene todas las herramientas de programaci?n necesarias para escribir c?digo en Visual Basic y crear soluciones personalizadas.

Este Editor, es una ventana independiente de Microsoft Excel, pero tiene el mismo aspecto que cualquier otra ventana de una aplicaci?n Microsoft Office, y funciona igual para todas estas aplicaciones. Cuando se cierre la aplicaci?n, consecuentemente tambi?n se cerrar? la ventana del Editor de Visual Basic asociada.

Este manual ha sido elaborado por Jos? Pedro Garc?a Sabater con la colaboraci?n de Gon?al Bravo i Reig y Alberto L?pez Gozalbes a lo largo de diversas versiones de la hoja de c?lculo Microsoft Excel. Es posible que a lo largo del mismo se hallen algunas inexactitudes ligadas entre otras razones a la evoluci?n de Excel. Si encuentran errores ser?a estupendo que nos lo hicieran saber para as? corregirlos.

2. OBJETIVOS

El documento est? inicialmente dirigido a alumnos de ingenier?a que con m?nimos conocimientos de programaci?n pueden entender c?mo funciona el VBA de Excel. No se pretende ense?ar a programar, s?lo a utilizar el entorno y a sacar partido al m?nimo conocimiento en programaci?n que tienen mis alumnos de ingenier?a. Lo que se pretende con este manual es presentar de una manera pr?ctica, diferentes utilidades, funciones, sentencias..., en el Editor de Visual Basic, y que con posterioridad ser?n ?tiles para el desarrollo del ejercicio concreto de que consta la pr?ctica. Los ejemplos son sencillos e incluso un poco tontos, y desde luego in?tiles en s? mismos. En cada ejemplo se presentan una o varias funcionalidades. Tomando ejemplos sencillos, se ir?n mostrando sucesivamente las diferentes utilidades a realizar o utilizar. Son utilidades b?sicas c?mo definir un bot?n de ejecuci?n de programa, c?mo dar valores a celdas de la p?gina de Microsoft Excel (mediante un programa definido en el Editor de Visual Basic), c?mo definir e introducir bucles y condiciones,...

4

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

3. DESARROLLO DE LOS EJEMPLOS

3.1. Creaci?n de un "bot?n" que al apretarlo escriba HOLA.

Vamos a crear un bot?n, que al hacer clic sobre ?l, muestre en la celda A1 la expresi?n "HOLA".

Para ello, en primer lugar, se instalar? en el documento de Microsoft Excel, el men? Programador (Men? Archivo -> Opciones -> Personalizar cinta de opciones y se selecciona la casilla Programador).

Una vez hecho esto, aparecer? la pesta?a Desarrollador desde la que se pueden a?adir los botones dentro de la pesta?a. En ?l se tomar? el icono que representa a un bot?n, despleg?ndose en la Hoja1, por ejemplo, del documento Excel. De los dos botones que hay (tanto en formularios como en ActiveX), se seleccionar? el de Controles de ActiveX, ya que de este modo se podr? cambiar el color y otras opciones del propio bot?n.

5

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

Una vez hecho esto, se pulsar? dos veces sobre dicho bot?n para acceder as? al Editor de Visual Basic, con el que se realizar? el peque?o programa requerido, tal y como sigue:

3.2. Acumulaci?n de "HOLA"'s en la misma celda.

Ahora vamos a cambiar el programa anterior, cambiando una de las l?neas de programa, para hacer que cada vez que se haga un clic en el bot?n, se acumule un nuevo "HOLA" (igual que podr?a ser cualquier otro valor num?rico o cadena de caracteres) al anterior. De esta forma, se identificar? el contenido de la primera celda como un contador, acumul?ndose, en cada clic sobre el bot?n, una nueva cadena de texto en dicha celda contador.

6

20 de febrero de [MANUAL B?SICO PARA EMPEZAR A TRABAJAR CON MACROS

2014

DE VISUAL BASIC PARA EXCEL]

3.3. Acumulaci?n de texto en varias diagonales sucesivas.

Continuando el ejemplo anterior, vamos a definir una lista en varias diagonales, en las que se mostrar? el texto previamente definido ("BIENVENIDO"). En la nueva versi?n del programa anterior, se podr? observar c?mo utilizar la funci?n "condici?n" (representada por la funci?n if) y el bucle (mediante la aplicaci?n de la funci?n for, entre otras opciones). As?, para hacer que la palabra "BIENVENIDO" aparezca colocada siguiendo varias diagonales un n?mero determinado de veces. Se definen, inicialmente, dos variables contador como enteros (funci?n Dim... As Integer), y que representan adem?s los ?ndices de las celdas de la Hoja de C?lculo (filas y columnas). Se define el texto en la primera celda. Seguidamente, se define la condici?n de que la suma de los ?ndices de celda (variables contadores) sean n?meros pares, con la utilizaci?n de la funci?n mod (funci?n resto, dividiendo el n?mero requerido por dos, si el resto es 0, el n?mero es par), as? se tendr?an definidas las diferentes diagonales. Esta "condici?n" estar?a colocada dentro de un doble bucle for (bucle anidado), en el que el valor de cada nueva celda de la diagonal, tendr? el mismo valor que la anterior.

7

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download