SlideShare a Scribd company logo
1 of 145
Download to read offline
MANUAL 400 Macros para Excel
por Elsa Matilde Meyer
(para versiones Excel del 2000 al 2007 inclusive)
Copyright © 2.005-2.010 Elsa M.Meyer (Elsamatilde)
El presente manual intenta guiar al usuario a potenciar el uso de
las planillas Excel, mediante programación.
Especialmente indicado para usuarios que ya han
experimentado con sus primeras rutinas.
Cada capítulo presenta rutinas para determinados temas. Así se
pueden encontrar temas como Trabajando con Directorios, con
Libros, con Hojas, con Objetos, Filtros, Impresión, otras
aplicaciones y más.
Además un capítulo con el desarrollo paso a paso de 20
'funciones personales'
En esta VERSIÓN DEMO, solo se encuentran disponibles los
temas que aparecen en el índice con Mayúsculas.
Versión Plus
VERSIÓN DEMO
Tabla de Contenidos
0
Cap. I 1 - Introducción 15
................................................................................................................................... 151 BIENVENID@S
................................................................................................................................... 172 BREVE INTRODUCCIÓN AL EDITOR
................................................................................................................................... 183 Cómo crear una macro
................................................................................................................................... 184 Dónde colocar las macros
................................................................................................................................... 185 Cómo ejecutar una macro
................................................................................................................................... 186 Acerca de las macros Auto-Open
................................................................................................................................... 197 Acerca de las macros Auto-Close
................................................................................................................................... 198 Cómo proteger un proyecto
................................................................................................................................... 199 Evitar que las macros se vean desde el menú
................................................................................................................................... 1910 Otras consideraciones: ¿Cómo...?
Cap. II 2 - Eventos, Metodos y Propiedades 21
................................................................................................................................... 211 EVENTOS - LISTADO
................................................................................................................................... 222 Especial: Eventos de Hojas
.......................................................................................................................................................... 22Cambios y Selección en Hoja
................................................................................................................................... 223 Metodos
................................................................................................................................... 234 Propiedades
Cap. III 3 - Tratamiento de Variables 25
................................................................................................................................... 251 Tipo de Variables
................................................................................................................................... 252 DURACIÓN DE LAS VARIABLES
................................................................................................................................... 263 Determinar el tipo de variable
................................................................................................................................... 264 Convirtiendo variables
................................................................................................................................... 265 Limpiando variables
Cap. IV 4 - Trabajando con Cadenas 28
................................................................................................................................... 281 EXTRAER PARTES DE UNA CADENA
................................................................................................................................... 292 Armando cadenas
................................................................................................................................... 293 Obtener el largo de una cadena
................................................................................................................................... 294 Introducir caracteres especiales
................................................................................................................................... 295 Detectar o encontrar texto en una cadena
................................................................................................................................... 296 Creando cadenas de largo fijo
................................................................................................................................... 297 Obtener la parte numerica de una cadena
Cap. V 5 - Trabajando con Directorios y Archivos 31
Manual 400 Macros PlusI
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 311 Creando un nuevo directorio
................................................................................................................................... 312 ESTABLECER LA RUTA DE ACCESO PREDETERMINADA
................................................................................................................................... 313 Establecer si un directorio existe
................................................................................................................................... 314 Establecer si un archivo existe en un directorio
................................................................................................................................... 325 Eliminar un archivo de un directorio
................................................................................................................................... 326 Establecer nueva unidad de disco
................................................................................................................................... 327 Establecer nuevo directorio o carpeta
................................................................................................................................... 328 Crear lista de archivos de una carpeta
................................................................................................................................... 329 Copiar todos los libros de una carpeta en otra
................................................................................................................................... 3210 Obtener propiedad fecha y hora de archivos
................................................................................................................................... 3211 Obtener tamaño de archivos
Cap. VI 6 - Trabajando con Libros 34
................................................................................................................................... 341 Principales Metodos y Propiedades de Libros
................................................................................................................................... 342 Abriendo Libros
.......................................................................................................................................................... 34Abrir un segundo libro
.......................................................................................................................................................... 34Abrir un libro con clave
.......................................................................................................................................................... 34Abrir libro buscando la carpeta que lo contiene
.......................................................................................................................................................... 34Ejecutar macro al abrir un libro
.......................................................................................................................................................... 34Inhabilitar el mensaje de actualizar vínculos al abrir un libro
.......................................................................................................................................................... 34Inhabilitar la opción de actualizar vínculos al abrir otros libros
.......................................................................................................................................................... 35Al abrir libro incrementar un contador
.......................................................................................................................................................... 35Al abrir libro ocultarlo (minimizarlo) y mostrar un Userform
.......................................................................................................................................................... 35Impedir que un libro se abra si la fecha caducó
................................................................................................................................... 353 Seleccionar un libro
................................................................................................................................... 354 Obtener el nombre de un libro
................................................................................................................................... 355 Obtener la ruta de un libro
................................................................................................................................... 356 Activar otro libro distinto al actual
................................................................................................................................... 367 Impedir que se abran otros libros mientras esté nuestro libro abierto
................................................................................................................................... 368 CARGAR TODO EL LIBRO EN MAYÚSCULAS
................................................................................................................................... 379 Modificar la forma de cálculo del libro o de una hoja
................................................................................................................................... 3710 Eliminar vinculos externos
................................................................................................................................... 3711 Eliminar vinculos internos
................................................................................................................................... 3712 Saber si uno o más libros existen en una carpeta
................................................................................................................................... 3713 Crear libro como copia de cierta hoja
................................................................................................................................... 3714 Copiar un libro sin abrirlo
................................................................................................................................... 3815 Cambiar el nombre de un libro sin abrirlo
................................................................................................................................... 3816 Eliminar Nombres de Rangos en libro
................................................................................................................................... 3817 Armar un indice vinculado a cada hoja del libro
................................................................................................................................... 3818 Guardando Libros
.......................................................................................................................................................... 38Guardar el libro activo
.......................................................................................................................................................... 38Guardar un libro con otro nombre
.......................................................................................................................................................... 38Guardar un libro con otro formato (txt)
IIContents
II
© <2005=2010> Elsa M.Meyer (Elsamatilde)
.......................................................................................................................................................... 38Guardar un libro con clave
.......................................................................................................................................................... 39Guardar un libro cuyo nombre será el valor de una variable
.......................................................................................................................................................... 39Guardar un libro cuyo nombre serán datos concatenados
.......................................................................................................................................................... 39Guardar libro sin módulos
.......................................................................................................................................................... 39Guardar libro sin código o macros
................................................................................................................................... 3919 Cerrando Libros
.......................................................................................................................................................... 39Cerrar todos los libros en uso
.......................................................................................................................................................... 39Cerrar un solo libro
.......................................................................................................................................................... 39Cerrar un libro SIN guardar los cambios
.......................................................................................................................................................... 40Cerrar un libro guardando los cambios
.......................................................................................................................................................... 40Impedir el uso del botón Cerrar del libro
.......................................................................................................................................................... 40Controlar errores antes de cerrar un libro
Cap. VII 7 - Trabajando con Hojas 42
................................................................................................................................... 421 MÉTODOS PARA HOJAS
................................................................................................................................... 442 Propiedades de las Hojas
................................................................................................................................... 443 Activar o seleccionar otras hojas distintas a la actual
................................................................................................................................... 444 Seleccionar la hoja anterior o posterior a la activa
................................................................................................................................... 445 Seleccionar todas las hojas de un libro
................................................................................................................................... 446 Devolver el nombre de la hoja en una variable
................................................................................................................................... 447 Formas de mostrar el nombre de hojas
................................................................................................................................... 448 Devolver el número de hoja en una variable
................................................................................................................................... 459 Proteger una hoja
................................................................................................................................... 4510 Desproteger una hoja
................................................................................................................................... 4511 Vista previa de la hoja activa y de otras hojas
................................................................................................................................... 4512 Imprimir hojas
................................................................................................................................... 4513 Insertar hojas
................................................................................................................................... 4514 Eliminar hojas
................................................................................................................................... 4515 Copiar hojas
................................................................................................................................... 4616 Crear hoja/libro con un gráfico
................................................................................................................................... 4617 Ocultar hojas
................................................................................................................................... 4618 Mostrar hoja oculta
................................................................................................................................... 4619 Mostrar todas las hojas ocultas de un libro
................................................................................................................................... 4620 Impedir que se vean datos al entrar a hoja
................................................................................................................................... 4621 Cambiar nombre a pestaña o Etiqueta de hojas
................................................................................................................................... 4622 Cambiar color de pestaña o Etiqueta de Hojas
................................................................................................................................... 4723 Mover o cambiar una hoja de lugar
................................................................................................................................... 4724 Insertar imagen en una hoja
................................................................................................................................... 4725 Ordenar las hojas alfabéticamente
................................................................................................................................... 4726 Armar una lista con el nombre de las hojas
................................................................................................................................... 4727 Modificar todos los hipervínculos de la hoja
................................................................................................................................... 4728 Establecer filas y columnas a mostrar al abrir hoja
................................................................................................................................... 4729 Establecer area visible de una hoja
Manual 400 Macros PlusIII
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 4830 Restablecer área visible en hoja
................................................................................................................................... 4831 Crear hojas según valores en una lista
................................................................................................................................... 4832 Aplicar Zoom a un rango u hoja
................................................................................................................................... 4833 Obtener el valor del Zoom aplicado a la hoja
................................................................................................................................... 4834 Ejecutar rutina en todas las hojas del libro
................................................................................................................................... 4835 Hojas de Diálogo: cómo ocultarlas
................................................................................................................................... 4836 Eliminar todos los comentarios de la hoja
................................................................................................................................... 4937 Activar hoja cada tanto tiempo
Cap. VIII 8 - Trabajando con Celdas y Rangos 51
................................................................................................................................... 511 Principales Méotodos para Rangos
................................................................................................................................... 512 PRINCIPALES PROPIEDADES DE RANGOS
................................................................................................................................... 523 Selección de Celdas o Rangos
................................................................................................................................... 524 Selección de rango utilizando variables
................................................................................................................................... 525 Seleccionar celdas a cierta distancia de la celda activa
................................................................................................................................... 536 Ampliar un rango seleccionado
................................................................................................................................... 537 SELECCIONAR LA REGIÓN DE LA CELDA ACTIVA
................................................................................................................................... 538 Seleccionar hasta la última celda vacía -Fin de rango
................................................................................................................................... 539 Devolver la direccion de un rango o celda
................................................................................................................................... 5410 Encontrar última celda con datos
................................................................................................................................... 5411 Ubicarnos en primer celda libre de una columna
................................................................................................................................... 5412 Guardar el numero de la primer fila libre
................................................................................................................................... 5413 Obtener ultima columna con datos
................................................................................................................................... 5414 Obtener el número de columnas de un rango
................................................................................................................................... 5415 Obtener el número de filas de un rango
................................................................................................................................... 5416 Contar la cantidad de objetos de un rango
................................................................................................................................... 5517 Acumular lo que se carga en 1 celda
................................................................................................................................... 5518 Combinar/Descombinar celdas seleccionadas
................................................................................................................................... 5519 Borrar o Limpiar celdas o rangos
................................................................................................................................... 5520 Borrar celdas con cierto contenido
................................................................................................................................... 5521 Eliminar celdas o rangos
................................................................................................................................... 5522 Eliminar filas en blanco
................................................................................................................................... 5523 Eliminar varias filas segun condicion
................................................................................................................................... 5624 Insertar Filas
................................................................................................................................... 5625 Eliminar Filas
................................................................................................................................... 5626 Ocultar filas
................................................................................................................................... 5627 Mostrar filas
................................................................................................................................... 5628 Insertar Columnas
................................................................................................................................... 5629 Eliminar columnas
................................................................................................................................... 5630 Ocultar columnas
IVContents
IV
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 5731 Mostrar Columnas
................................................................................................................................... 5732 Insertar comentarios
................................................................................................................................... 5733 Formatos a Celdas
................................................................................................................................... 5734 Formato a Columnas
................................................................................................................................... 5735 Autoajustar columnas
................................................................................................................................... 5736 Cambiar minúsculas por mayúsculas
................................................................................................................................... 5737 Cambiar mayúsculas por minúsculas
................................................................................................................................... 5838 Capturar fecha y hora de carga de datos
................................................................................................................................... 5839 Insertar Nombre de rango
................................................................................................................................... 5840 Insertar Hipervínculos
................................................................................................................................... 5841 Transponer una fila
................................................................................................................................... 5842 Ordenar un rango
................................................................................................................................... 5843 Detectar si la celda contiene formula
................................................................................................................................... 5844 Ejemplo de fórmula con rango variable
................................................................................................................................... 5945 Cómo conocer el color de una celda
................................................................................................................................... 5946 Colorear celdas con mas de 3 condiciones
................................................................................................................................... 5947 Resaltar la fila activa (1)
................................................................................................................................... 5948 Resaltar la fila activa (2)
................................................................................................................................... 5949 Resaltar la celda activa
................................................................................................................................... 5950 Cambiar color de fuente a celdas con datos
................................................................................................................................... 5951 Separar cada caracter de una cadena en distintas col
................................................................................................................................... 6052 Quitar espacios en celdas
................................................................................................................................... 6053 Proteger rangos o celdas
................................................................................................................................... 6054 Recorrer celdas protegidas
Cap. IX 9 - Bucles: Instrucciones o Comandos
Especiales 62
................................................................................................................................... 621 Qué es un bucle?
................................................................................................................................... 622 FOR EACH.....NEXT
................................................................................................................................... 633 For ...... Next
................................................................................................................................... 634 While .... Wend
................................................................................................................................... 635 If.... ElseIf....Else....
................................................................................................................................... 636 Do While .... Loop
................................................................................................................................... 637 Do Until.... Loop
................................................................................................................................... 648 Uso de SET
................................................................................................................................... 649 With....End With
................................................................................................................................... 6410 Uso de Select Case
Cap. X 10- Trabajando con fórmulas 66
................................................................................................................................... 661 Trabajando con fórmulas
Manual 400 Macros PlusV
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 662 INTRODUCIR FÓRMULAS EN CELDAS
................................................................................................................................... 673 Armar fórmula con datos variables
................................................................................................................................... 674 Modificar fórmula de celda
................................................................................................................................... 675 Colocar resultado de fórmula en celdas
Cap. XI 11- Trabajando con Objetos Insertados en
Hoja 69
................................................................................................................................... 691 Algunas consideraciones previas
................................................................................................................................... 692 ListBox, Combobox y Textbox
.......................................................................................................................................................... 69COMENTARIOS GENERALES
.......................................................................................................................................................... 70Mostrar un Combobox al seleccionar hoja
.......................................................................................................................................................... 70Ocultar un Combobox luego de seleccionar opcion
.......................................................................................................................................................... 70Asignar rango a un Combobox
.......................................................................................................................................................... 70Enviar texto a las columnas de un Combobox
.......................................................................................................................................................... 70Enviar valor de un Combo a una celda
.......................................................................................................................................................... 71Seleccionar celda cuyo valor es el ingresado en Combobox
.......................................................................................................................................................... 71Enviar valores de Combo de 4 columnas a celdas
.......................................................................................................................................................... 71Limpiar un combo
.......................................................................................................................................................... 71Crear controles por macro
.......................................................................................................................................................... 71Eliminar todos los controles de una hoja
.......................................................................................................................................................... 71Asignar ancho de columnas en Listbox
.......................................................................................................................................................... 71Activar hoja según valor en Lista Desplegable
.......................................................................................................................................................... 72Buscar valor del Combo en base Devolver otros datos en textbox
.......................................................................................................................................................... 72Mostrar valores al clic en control
.......................................................................................................................................................... 72Llenar un control Combobox con nombres de hojas
................................................................................................................................... 723 Cuadros de Texto
.......................................................................................................................................................... 72Insertar cuadro de texto y asignar algunas propiedades
.......................................................................................................................................................... 72Funciones de comprobacion
................................................................................................................................... 724 Imágenes
.......................................................................................................................................................... 72Cargar una imagen cuyo nombre se encuentra en una celda
.......................................................................................................................................................... 72Segun valor de celda, mostrar una imagen
.......................................................................................................................................................... 73Buscar una imagen e insertarla
.......................................................................................................................................................... 73Insertar imagenes sobre celdas (1)
.......................................................................................................................................................... 73Insertar imagenes sobre ciertas celdas (2)
.......................................................................................................................................................... 73Insertar imagenes de tamaño fijo
Cap. XII 12- Controlando Teclas y Mensajes de Excel 75
................................................................................................................................... 751 Consideraciones generales
................................................................................................................................... 752 Impedir que se cancele una macro con ESC
................................................................................................................................... 753 Controlar la tecla ESC- Cancelar a criterio
................................................................................................................................... 754 No mostrar el cursor o la celda activa
................................................................................................................................... 755 Controlar las teclas Enter y Flechas Abajo_Arriba
................................................................................................................................... 756 Controlar otras teclas mediante código
................................................................................................................................... 757 Asignar una macro a una tecla especial
................................................................................................................................... 768 Ejecutar una macro al presionar Enter
................................................................................................................................... 769 Ejecutar una macro con Doble click
VIContents
VI
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 7610 Asignar mismo atajo de teclado a varias macros
................................................................................................................................... 7611 NO MOSTRAR AVISOS DE ALERTA
................................................................................................................................... 7712 No mostrar aviso, al guardar un archivo, de que el archivo ya existe:
................................................................................................................................... 7713 No mostrar la ejecución de la macro o el movimiento de hojas:
................................................................................................................................... 7714 Inhabilitar eventos
................................................................................................................................... 7715 Crear atajos de teclado desde una macro
Cap. XIII 13- Controlando Errores 79
................................................................................................................................... 791 ON ERROR RESUME NEXT
................................................................................................................................... 792 On Error GoTo ....
................................................................................................................................... 793 On Error GoTo 0
................................................................................................................................... 794 Err
Cap. XIV 14- Trabajando con Barras, Menues y
Pestañas 81
................................................................................................................................... 811 Consideraciones generales para Barras y otros
................................................................................................................................... 812 OCULTAR LAS PESTAÑAS DE LAS HOJAS
................................................................................................................................... 813 Ocultar las barras de desplazamiento
................................................................................................................................... 814 Ocultar los encabezados de filas y columnas
................................................................................................................................... 815 Ocultar barras de herramientas
................................................................................................................................... 816 Ocultar la barra principal de Excel
................................................................................................................................... 827 Ocultar elementos de la barra principal
................................................................................................................................... 828 Conocer número de barras y controles
................................................................................................................................... 829 Ocultar opciones de Impresion y Otras
................................................................................................................................... 8210 Ocultar opciones Cortar y Copiar
................................................................................................................................... 8211 Crear una barra personal con macro
................................................................................................................................... 8212 Mostrar una barra de herramientas personal
................................................................................................................................... 8213 Quitar una barra personal al salir
................................................................................................................................... 8314 Impedir el uso del clic derecho
................................................................................................................................... 8315 Ejecutar macro al clic derecho
................................................................................................................................... 8316 Mostrar mensaje en Barra de Estado
................................................................................................................................... 8317 Mostrar cajas de diálogo de Excel
................................................................................................................................... 8318 Eliminar menu contextual de Objetos
Cap. XV 15- Uso de Cuadros de Mensaje 85
................................................................................................................................... 851 Construcción de MsgBox
................................................................................................................................... 852 MsgBox como PopUp
Cap. XVI 16- Uso de InputBox 87
................................................................................................................................... 871 CONSTRUCCIÓN DE INPUTBOX
................................................................................................................................... 882 Controlar que se ha ingresado un valor
Manual 400 Macros PlusVII
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 883 Establecer un valor predeterminado en un InputBox
................................................................................................................................... 884 Controlar que lo ingresado a un InputBox sea referencia válida
................................................................................................................................... 885 Ingresar y seleccionar un rango con InputBox
................................................................................................................................... 886 Seleccionar datos en un rango
................................................................................................................................... 887 Controlar que el dato ingresado sea fecha
Cap. XVII 17- Buscando Datos 90
................................................................................................................................... 901 Buscar una hoja en cierto libro
................................................................................................................................... 902 Devolver en una celda el resultado de una búsqueda
................................................................................................................................... 903 Devolver todos los resultados de una búsqueda
................................................................................................................................... 904 Buscar un dato. Copiar la fila de todos los registros encontrados
................................................................................................................................... 905 Buscar un dato en un rango, posicionarse y seguir buscando
................................................................................................................................... 906 Controlar si un valor resultado se encuentra en la base
................................................................................................................................... 907 Función BuscarV devolviendo valores a la izquierda
................................................................................................................................... 918 Buscar cierto dato en un rango. Si se encuentra borrar la fila que lo contiene
................................................................................................................................... 919 BUSCAR DATOS DE 1 COLUMNA EN OTRA Y BORRAR LOS REPETIDOS
................................................................................................................................... 9210 Evitar duplicados al cargar una base
................................................................................................................................... 9211 Buscar un dato. Devolver en Textbox toda la fila
................................................................................................................................... 9212 Obtener el valor de la ultima celda de una fila
Cap. XVIII 18- Evaluando y Comparando Datos 94
................................................................................................................................... 941 Comparando cadenas
................................................................................................................................... 942 Evaluar si una celda guarda fechas
................................................................................................................................... 943 Evaluar si un dato es numérico o no
................................................................................................................................... 944 EVALUAR SI UNA CELDA PRESENTA ERROR
................................................................................................................................... 945 Eliminar filas si las celdas de cierta columna están vacías
................................................................................................................................... 956 Eliminar fila si varios datos del registro cumplen una condición
................................................................................................................................... 957 Rellenar celdas vacías de un rango con cierto valor
................................................................................................................................... 958 Evaluar el color de celda
................................................................................................................................... 959 Eliminar filas vacías
................................................................................................................................... 9510 Contar celdas con igual color de fuente
................................................................................................................................... 9511 Ordenar - Controlar - borrar repetidos
................................................................................................................................... 9512 Comparar cadenas que pueden estar en mayúsculas o minúsculas
................................................................................................................................... 9613 Extraer la parte numérica de una cadena
................................................................................................................................... 9614 Armar tabla con valores no duplicados
................................................................................................................................... 9615 Armar Listas validadas, sin duplicados
................................................................................................................................... 9616 Comparar 2 columnas. Copiar en otra las filas que coinciden
................................................................................................................................... 9617 Comparar 2 columnas. Copiar las que NO coinciden
................................................................................................................................... 9618 Bloquear celdas según fecha
................................................................................................................................... 9619 Evaluando si celdas contienen #N/A-Copiar en otro destino
VIIIContents
VIII
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Cap. XIX 19- Copiando Datos 98
................................................................................................................................... 981 Copiar rango de datos de una hoja a la siguiente
................................................................................................................................... 982 Copiar solo filas impares
................................................................................................................................... 983 COPIAR SOLO VALORES - PEGADO ESPECIAL
................................................................................................................................... 984 Copiar formato - Pegado Especial
................................................................................................................................... 985 Pegado Especial sin seleccionar
................................................................................................................................... 996 Quitar fórmulas en celdas de color
................................................................................................................................... 997 Copiar una fórmula en la celda siguiente
................................................................................................................................... 998 Copiar cierta fila en otro libro. Conocer última fila con datos
................................................................................................................................... 999 Copiar un rango de filas en otro libro Resumen
................................................................................................................................... 9910 Duplicar una hoja- La copia tendrá los valores, no las fórmulas
................................................................................................................................... 9911 Copiar varios libros en uno solo
................................................................................................................................... 9912 Copiar cabecera o columna de títulos
................................................................................................................................... 10013 Copiar celdas de color en otro destino- Eliminar fila
Cap. XX 20- Uso de Temporizador 102
................................................................................................................................... 1021 CARACTERÍSTICAS DEL MÉTODO ONTIME
................................................................................................................................... 1022 Guardar el libro cada minuto
................................................................................................................................... 1033 Mostrar un Userform durante un tiempo y ocultarlo
................................................................................................................................... 1034 Lllamar a un Userform por unos segundos
................................................................................................................................... 1035 Activar otra hoja cada tantos minutos
Cap. XXI 21- Trabajando con Filtros 105
................................................................................................................................... 1051 Establecer criterio para filtro
................................................................................................................................... 1052 Filtro en hoja protegida
................................................................................................................................... 1053 Autofiltros con campos fecha
................................................................................................................................... 1054 Establecer AutoFiltro con criterios en otra hoja
................................................................................................................................... 1055 APLICAR FILTRO AVANZADO Y COPIAR RESULTADO
................................................................................................................................... 1066 Copiar solo las filas de un Filtro avanzado en otra hoja
................................................................................................................................... 1067 Copiar celdas filtradas sin los títulos
................................................................................................................................... 1068 Obtener la primer fila de un filtro
................................................................................................................................... 1079 Obtener el total de celdas filtradas
................................................................................................................................... 10710 Seleccionar en un rango filtrado, la celda que tiene el valor de un ComboBox
................................................................................................................................... 10711 Sumar una columna de datos en un rango filtrado
................................................................................................................................... 10712 Quitar autofiltros solo a ciertas columnas
Cap. XXII 22- Trabajando con Gráficos 109
................................................................................................................................... 1091 Seleccionar un gráfico ignorando su nombre
................................................................................................................................... 1092 Cortar un gráfico de una hoja y pegarlo en otra
................................................................................................................................... 1093 Asignar los datos de origen de un gráfico
Manual 400 Macros PlusIX
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 1094 Crear un gráfico en hoja nueva y guardar el libro
................................................................................................................................... 1095 Crear gráfico con datos de hoja variable
................................................................................................................................... 1096 Imprimir gráfico y tabla que lo alimenta
................................................................................................................................... 1107 MODIFICANDO DIMENSIONES DE TODOS LOS GRAFICOS
................................................................................................................................... 1108 Copiar todos los graficos en otra hoja
................................................................................................................................... 1109 Eliminar todos los graficos de una hoja
................................................................................................................................... 11010 Colorear series por macro
................................................................................................................................... 11011 Ubicando un gráfico por macro
................................................................................................................................... 11112 Recorrer todos los gráficos del libro
................................................................................................................................... 11113 Reconocer el área del gráfico seleccionado
Cap. XXIII 23- Trabajando con Userforms 113
................................................................................................................................... 1131 Generalidades - Crear un Userform
................................................................................................................................... 1132 Mostrar un Userform
................................................................................................................................... 1133 MOSTRAR UN USERFORM EN EL TOPE DE LA VENTANA
................................................................................................................................... 1134 Ocultar un Userform
................................................................................................................................... 1145 Cerrar un Userform
................................................................................................................................... 1146 Desactivar el botón 'Cerrar' de un Userform
................................................................................................................................... 1147 Inmovilizar un Userform
................................................................................................................................... 1148 Cargar valores de inicio
................................................................................................................................... 1149 Volcar datos de un Userform a una hoja
................................................................................................................................... 11410 Actualizar base con datos del Userform
................................................................................................................................... 11411 Seleccionar datos desde un Userform-RefEdit
................................................................................................................................... 11512 Seleccionar rango para eliminar duplicados
................................................................................................................................... 11513 Agrandar un Frame a medida que se ingresan datos
................................................................................................................................... 11514 Validar campos numéricos en Textbox
................................................................................................................................... 11515 Validar campos fecha en Textbox
................................................................................................................................... 11516 Establecer separadores en campos fecha en textbox
................................................................................................................................... 11517 Ingresar fechas sin formato en Textbox
................................................................................................................................... 11518 Asignar formato moneda a un TextBox
................................................................................................................................... 11619 Asignar formato Password a un textbox
................................................................................................................................... 11620 Limpiar todos los textbox de un Userform
................................................................................................................................... 11621 Guardar un dato del Userform antes de cerrarlo
................................................................................................................................... 11622 Agregar un Grafico en un Userform
................................................................................................................................... 11623 Trabajando con controles Listbox y Combobox
................................................................................................................................... 11624 Llenar un control ListBox con nombres de hojas
................................................................................................................................... 11625 Ejecutar una macro según valor seleccionado en Combobox
Cap. XXIV 24- Trabajando con Tablas Dinámicas 118
................................................................................................................................... 1181 Comentarios sobre Tablas Dinámicas
XContents
X
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 1182 Evitar la actualización automática de TD
................................................................................................................................... 1183 OBTENER EL TOTAL DE UNA TABLA DINÁMICA
................................................................................................................................... 1194 Convetir un campo en un campo de filas
................................................................................................................................... 1195 Eliminar todas las Tablas Dinamicas de una hoja
................................................................................................................................... 1196 Uso de variables en TD
Cap. XXV 25- Impresión 121
................................................................................................................................... 1211 Imprimir hojas
................................................................................................................................... 1212 Vista previa
................................................................................................................................... 1213 Establecer área de impresión:
................................................................................................................................... 1214 IMPEDIR LA IMPRESIÓN
................................................................................................................................... 1215 Enviar información al Encabezado y Pié
................................................................................................................................... 1216 Instrucciones para configurar la página
................................................................................................................................... 1227 Llamar al cuadro de opciones para Imprimir
................................................................................................................................... 1228 Elegir impresora por medio de código
Cap. XXVI 26- Trabajando con el entorno Excel 124
................................................................................................................................... 1241 Ocultar Excel
................................................................................................................................... 1242 Ocultar Excel por cierto tiempo
................................................................................................................................... 1243 Quitar la lista de archivos abiertos del menú Archivo
................................................................................................................................... 1244 Importar datos de otro libro Excel
................................................................................................................................... 1245 Obtener la lista de archivos Excel de una carpeta
................................................................................................................................... 1246 Ocultar botones de Minimizar y Maximizar
................................................................................................................................... 1247 Inhabilitar el botón de Cerrar de Excel
................................................................................................................................... 1258 Evitar el cierre accidental de Excel
................................................................................................................................... 1259 Ejecutar rutinas o funciones de otros libros
................................................................................................................................... 12510 OBTENER LISTADO DE RUTINAS DE UN LIBRO
................................................................................................................................... 12611 Exportar módulos
................................................................................................................................... 12612 Importar módulos guardados como txt
................................................................................................................................... 12613 Eliminar código
................................................................................................................................... 12614 Eliminar codigo de cierto objeto o modulo
................................................................................................................................... 12615 Saber si un archivo existe en un directorio
................................................................................................................................... 12716 Eliminar un archivo del directorio
................................................................................................................................... 12717 Iniciar una nueva sesión de Excel
................................................................................................................................... 12718 Quitar colores a la lista de la herramienta Relleno
................................................................................................................................... 12719 Restablecer la paleta de colores
................................................................................................................................... 12720 Determinar el tiempo que demora una rutina
................................................................................................................................... 12721 Fijar las mayusculas para todo el libro
................................................................................................................................... 12722 Habilitar o no la tecla BLOQNUM
................................................................................................................................... 12823 Llamar a un archivo HELP
Manual 400 Macros PlusXI
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Cap. XXVII 27- Trabajando con otras aplicaciones 130
................................................................................................................................... 1301 COPIAR CELDAS EXCEL A UN DOC WORD
................................................................................................................................... 1302 Abrir un archivo de texto (CSV)
................................................................................................................................... 1313 Imprimir un documento Word desde Excel
................................................................................................................................... 1314 Importar Datos de Outlook
................................................................................................................................... 1315 Enviar un libro por Mail
................................................................................................................................... 1316 Enviar un mail
................................................................................................................................... 1317 Enviar cuerpo de correo con saltos de línea
................................................................................................................................... 1318 Importar datos de Access
................................................................................................................................... 1319 Llamar a la Calculadora
................................................................................................................................... 13210 Llamar a la aplicación WinZip
................................................................................................................................... 13211 Ejecutar archivo de sonido al cambio en celda
Cap. XXVIII 28- Creando Complementos 134
................................................................................................................................... 1341 Cómo crear un Complemento
................................................................................................................................... 1342 Habilitar complementos
Cap. XXIX 29- Funciones definidas por Usuario (UDF) 136
................................................................................................................................... 1361 CREAR FUNCIONES PERSONALES
................................................................................................................................... 1362 Sintaxis de funciones
................................................................................................................................... 1363 Funcion Numeros a Letras
................................................................................................................................... 1374 Funcion Calculo del NIF (Identificador en España)
................................................................................................................................... 1375 Funcion Digito Verificador (RUT)
................................................................................................................................... 1376 Funcion BuscarV en varias hojas
................................................................................................................................... 1377 Funcion Buscar el enésimo elemento
................................................................................................................................... 1378 Funcion Encontrar ultimo dato
................................................................................................................................... 1379 Funcion Sumar rango con error
................................................................................................................................... 13710 Función Contar celdas de cierto color
................................................................................................................................... 13811 Funcion Sumar celdas de cierto color
................................................................................................................................... 13812 Funcion Extraer números a la derecha de una cadena
................................................................................................................................... 13813 Función Contar número de vocales en una cadena
................................................................................................................................... 13814 Función Contar número de consonantes en una cadena
................................................................................................................................... 13815 Funcion Contar numeros pares
................................................................................................................................... 13816 Funcion Contar numeros impares
................................................................................................................................... 13817 Funcion Fecha creación del libro
................................................................................................................................... 13918 Funcion Fecha ultima modificacion del libro
................................................................................................................................... 13919 Funcion Binario (para > 500)
................................................................................................................................... 13920 Funcion Reconocer numeros Primos
................................................................................................................................... 13921 Funcion Nombre Dia
XIIContents
XII
© <2005=2010> Elsa M.Meyer (Elsamatilde)
................................................................................................................................... 13922 Funcion Nombre Mes
Cap. XXX 30- Otras Rutinas Interesantes 141
................................................................................................................................... 1411 MOSTRAR VALORES EN COMBO SEGÚN SELECCIÓN EN OTRO
................................................................................................................................... 1422 Ejecutar macro según valor en celda
................................................................................................................................... 1423 Colorear celdas por condicion
................................................................................................................................... 1424 Convertir Monedas
................................................................................................................................... 1425 Indicar equipos disponibles en un Ciber:
................................................................................................................................... 1426 Lotería: Ubicar valores ingresados
................................................................................................................................... 1427 Ordenar una tabla por valores tipo Indice
................................................................................................................................... 1428 Aplicar parpadeo continuo a celdas
................................................................................................................................... 1439 Crear libros por cada hoja
................................................................................................................................... 14310 Restringir uso de hojas
................................................................................................................................... 14311 Mantener imagen fija en pantalla
................................................................................................................................... 14312 Estado de progreso de una rutina
Manual 400 Macros PlusXIII
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Capítulo
I
Manual 400 Macros Plus15
© <2005=2010> Elsa M.Meyer (Elsamatilde)
1 1 - Introducción
1.1 BIENVENID@S
VERSIÓN DEMO
Manual: 400 MACROS Plus
+ 20 Funciones
(v.3.0) - para versiones Excel 2000 al 2007 inclusive
La intención de este Manual es guiar al usuario de Excel a potenciar las planillas de cálculo con
programación.
NOTA: En esta versión DEMO se podrá acceder a un tema por capítulo. El mismo se
encuentra en mayúsculas en el índice.
No solo los usuarios 'programadores' sacarán provecho de este libro. Los que nunca han
trabajado con algún lenguaje de programación verán que muy fácilmente podrán 'personalizar'
sus libros adaptando o creando rutinas con código VBA (Visual Basic para Aplicaciones)
En el primer capítulo un par de temas con imágenes para familiarizarnos con el entorno Editor
de Macros.
A continuación un par de capítulos detallando conceptos que serán utilizados a lo largo del
manual: Eventos, Métodos, Variables, Cadenas y otros.
Luego siguen capítulos ordenados por objetos: Libros-Hojas-Celdas o rangos-Barras-Objetos
dibujados , etc. donde partiendo de las principales instrucciones básicas (ej: Abrir o Guardar
libros), llegaremos hasta códigos para manipular otras aplicaciones (tanto Word, Access o el
mismo entorno Windows), crear Complementos, código para controlar Barras, Teclas, Objetos,
Filtros y mucho más.
Así hasta llegar al último capítulo con 'Rutinas Interesantes' que pueden serte de utilidad o de
modelo para otras tareas, como: Colorear celdas por condición, Crear Libros por cada hoja y
muchas más.
Cada línea, cada comando se encuentra explicado en español para que puedan ser adaptados a
las necesidades y configuración de cada libro.
Contiene además imágenes que guiarán y mostrarán los resultados obtenidos una vez ejecutada
la macro.
Una característica a resaltar de este Manual es su formato y su potente buscador. Al solicitar
un tema nos devolverá la lista de entradas que aparecen en todo el libro, como en la imagen
donde se ingresó la palabra 'find' apareciendo 11 entradas (para la primer coincidencia) lo que
nos permite abarcar de manera completa el tema buscado.
1 - Introducción 16
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Otra característica a resaltar de este formato, es su posibilidad de agregar comentarios en
cada tema. Podrás agregar tus propias observaciones, ejemplos u otros datos de interés.
Desde el menú Edición, Anotar encontrarás una ventana para escribir.
Cada vez que accedas a este tema, encontrarás en el margen superior un clip recordándote
que el tema tiene agregados. Haciendo clic en él, aparecerán tus notas personales.
Manual 400 Macros Plus17
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Las rutinas contenidas en este manual, fueron desarrolladas y probadas en las siguientes versiones:
Windows98/Windows XP con Office 2000, Office XP (2002) , Office 2003 y Excel 2007
En caso de dificultad para adaptar alguna rutina a tu libro, envíame tus comentarios a:
cibersoft_arg@yahoo.com.ar
1.2 BREVE INTRODUCCIÓN AL EDITOR
Qué es una macro:
Una macro es un conjunto de instrucciones en lenguaje de programación, que en el caso de
Excel se conoce como VBA (Visual Basic for Applications), que nos permite realizar ciertas tareas,
que por ser repetitivas nos valemos de una rutina para automatizarlas.
Estas instrucciones se guardan en el Editor de Macros.
Por ejemplo: al ingresar datos en una columna que nos complete el resto del registro con los
datos de otra hoja, que cada vez que ingresamos valores con cierto criterio, nos coloque un color
de fuente o fondo, etc.
El Editor de Macros:
Desde el menú Herramientas, Macros, Editor de Macros tenemos acceso a una ventana donde se
colocarán ya sea simples instrucciones, pequeñas rutinas y códigos completos de aplicaciones
como Facturación, Control de Gestión, etc.
En versión Excel 2007 se accede desde la ficha Programador, Visual Basic (primer opción)
Veamos qué encontramos en la ventana del Editor:
1 - Introducción 18
© <2005=2010> Elsa M.Meyer (Elsamatilde)
1.3 Cómo crear una macro
El tema no se encuentra disponible en esta versión DEMO
1.4 Dónde colocar las macros
El tema no se encuentra disponible en esta versión DEMO
1.5 Cómo ejecutar una macro
El tema no se encuentra disponible en esta versión DEMO
1.6 Acerca de las macros Auto-Open
El tema no se encuentra disponible en esta versión DEMO
Manual 400 Macros Plus19
© <2005=2010> Elsa M.Meyer (Elsamatilde)
1.7 Acerca de las macros Auto-Close
El tema no se encuentra disponible en esta versión DEMO
1.8 Cómo proteger un proyecto
El tema no se encuentra disponible en esta versión DEMO
1.9 Evitar que las macros se vean desde el menú
El tema no se encuentra disponible en esta versión DEMO
1.10 Otras consideraciones: ¿Cómo...?
El tema no se encuentra disponible en esta versión DEMO
Capítulo
II
Manual 400 Macros Plus21
© <2005=2010> Elsa M.Meyer (Elsamatilde)
2 2 - Eventos, Metodos y Propiedades
2.1 EVENTOS - LISTADO
Hemos visto en el capítulo Introducción, Cómo ejecutar una macro, que éstas pueden
ejecutarse ante un evento del libro u hoja.
¿Pero qué es un evento? es una acción que el usuario ejecuta, y tiene que ver con los objetos
Libro y Hojas, siendo los más comunes: abrir, guardar, imprimir o cerrar libros, activar o
desactivar hojas. Estas rutinas no pueden ser ejecutadas manualmente, como las que colocamos
en módulos, sino que se ejecutan al producirse el evento.
Si volvemos a la imagen que se encuentra en el capítulo Introducción, Breve introducción al
Editor, veremos los 2 cuadros desplegables: Objetos y Eventos.
Debemos seleccionar un objeto y luego optar por un evento. A continuación la primera y última
instrucción de la macro se escribirán.
Ejemplos:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'instrucciones que se ejecutarán antes de guardar el libro
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'instrucciones que se ejecutarán cada vez que se seleccione una celda
End Sub
A continuación los Eventos de Libros:
Activate: se activa el libro
AddInstall: ocurre al instalar el libro como complemento
AddUninstall: ocurre al desinstalar el libro como complemento
BeforeClose: antes de cerrar el libro
BeforePrint: antes de imprimir
BeforeSave: antes de guardar el libro
Deactivate: al desactivar el libro
NewSheet: al insertar nueva hoja
Open: al abrir el libro
SheetActivate: al activar una hoja
SheetCalculate: al efectuar cálculos en hoja
SheetChange: al efectuar cambios en hoja
SheetDeactivate: al desactivar hoja
SheetFollowHyperlink: al clic en un hipervínculo
SheetPivotTableUpdate: ocurre después de actualizar la hoja del informe de tabla dinámica
SheetSelectionChange: se produce cuando la selección cambia en una hoja
WindowActivate: cuando se activa cualquier ventana del libro
WindowDeactivate: cuando se desactiva cualquier ventana del libro
WindowResize: cuando se cambia de tamaño cualquier ventana del libro
PivotTableCloseConnection: Ocurre después de que un informe de tabla dinámica cierra la
conexión con su origen de datos.
2 - Eventos, Metodos y Propiedades 22
© <2005=2010> Elsa M.Meyer (Elsamatilde)
PivotTableOpenConnection: Ocurre después de que un informe de tabla dinámica abre la
conexión con su origen de datos
SheetBeforeDoubleClick: Ocurre al hacer doble clic en una hoja de cálculo, antes de la acción
predeterminada para el doble clic
SheetBeforeRightClick: Ocurre al hacer clic con el botón secundario del mouse (ratón) en
una hoja de cálculo, antes de la acción predeterminada.
Las rutinas colocadas en los eventos del libro (Private Sub Workbook) que hacen mención a
hojas (Sheet....) se ejecutan para todas las hojas del libro.
Principales Eventos de Hojas:
A diferencia de los últimos eventos de la lista anterior, un evento de Hoja solo se ejecuta para
el objeto Hoja donde se encuentre.
Es decir, si seleccionamos el objeto Hoja2 (Barras_Inicio) la macro de Evento que escribamos
solo se ejecutará para esta hoja 2.
Los eventos de Hojas son:
Activate: al activar esta hoja
BeforeDoubleClic: al presionar doble clic
BeforeRightClick: al clic derecho en la hoja
Calculate: al realizar cálculos en esta hoja
Change: al introducir cambios en esta hoja
Deactivate: al desactivar la hoja
FollowHyperlink: al presionar un hipervínculo
PivotTableUpdate: al actualizar una tabla dinámica en la hoja
SelectionChange: al seleccionar y pasar de celda.
Atención: también los controles colocados en un Userform tienen su lista de eventos, como
SetFocus (al recibir el enfoque), LostFocus (al perder el enfoque) y muchos más que
encontrarán en los ejemplos del capítulo Userforms
2.2 Especial: Eventos de Hojas
2.2.1 Cambios y Selección en Hoja
El tema no se encuentra disponible en esta versión DEMO
2.3 Metodos
El tema no se encuentra disponible en esta versión DEMO
Manual 400 Macros Plus23
© <2005=2010> Elsa M.Meyer (Elsamatilde)
2.4 Propiedades
El tema no se encuentra disponible en esta versión DEMO
Capítulo
III
Manual 400 Macros Plus25
© <2005=2010> Elsa M.Meyer (Elsamatilde)
3 3 - Tratamiento de Variables
3.1 Tipo de Variables
El tema no se encuentra disponible en esta versión DEMO
3.2 DURACIÓN DE LAS VARIABLES
Las variables pueden ser: Locales o Públicas
Variables Locales:
Las variables Locales son las que se declaran dentro de un procedimiento y sus valores sólo
pueden ser utilizados en éste. Para declararlas se utiliza la sentencia Dim, generalmente al inicio
del procedimiento, aunque también pueden ser declaradas en otros puntos del mismo.
Ejemplo:
Sub Macro1()
Dim valor1 as Integer, valor2 as Integer
Dim cadena1 as String
'otras instrucciones
End Sub
Variables Públicas:
Son las que estarán disponibles para todos los procesos, sus valores pueden ser utilizados en
cualquier módulo.
Se declaran como Public. Recomiendo utilizar un módulo especialmente destinado a la
declaración de estas variables lo que facilitará su ubicación.
Si se declararán en un módulo utilizado para otro procedimiento deberán ser las primeras
instrucciones
Ejemplo:
Option Explicit
Public minro as Byte
Sub Macro2()
'instrucciones
End Sub
Constantes:
A diferencia de las variables que modifican sus valores durante la ejecución de un proceso, las
Constantes mantienen su valor. También pueden ser Locales o Públicas
Ejemplo:
Const dia as Integer
Public Const cadena1 as String
3 - Tratamiento de Variables 26
© <2005=2010> Elsa M.Meyer (Elsamatilde)
3.3 Determinar el tipo de variable
El tema no se encuentra disponible en esta versión DEMO
3.4 Convirtiendo variables
El tema no se encuentra disponible en esta versión DEMO
3.5 Limpiando variables
El tema no se encuentra disponible en esta versión DEMO
Capítulo
IV
4 - Trabajando con Cadenas 28
© <2005=2010> Elsa M.Meyer (Elsamatilde)
4 4 - Trabajando con Cadenas
4.1 EXTRAER PARTES DE UNA CADENA
Para extraer partes de una cadena, ya sea el contenido de una celda, una variable o el
resultado de un InputBox, contamos con las siguientes funciones:
Left: devuelve el contenido de una cadena comenzando desde la izquierda a partir de la
posición indicada en el segundo argumento.
Right: devuelve lo que se encuentra a la derecha de la cadena
Len: devuelve el largo de una cadena
Mid: devuelve lo que se encuentra a partir de cierta posición y del largo establecido
InStr: devuelve la posición inicial de una cadena en otra
Ejemplos: si la celda A1 contiene el valor 'ABC567DEF'
Left(Range("A1").Value, 3) devuelve 'ABC'
Mid(Range("A1").Value, 3) devuelve 'C567DEF'
Mid(Range("A1").Value, 4, 2) devuelve "56"
Si el resultado obtenido queda como String, convertirlo a número utilizar la función Val
(*ver más sobre Conversión de variables en el capítulo: Tratamiento de Variables)
Right(Range("A1").Value, 2) devuelve 'EF'
También podemos utilizar la función InStr conjuntamente con Mid para obtener una cadena a
partir de cierto caracter.
En el ejemplo se trata de obtener el apellido sabiendo que se ubica después del caracter 'espacio'
Sub variables()
Dim esp As integer
Dim apellido As String
Dim cadena As String
cadena = "Juan Perez"
'se obtiene la ubicación del espacio
esp = InStr("Juan Perez", " ")
'se obtiene la cadena a partir de la posición del espacio
apellido = Mid(cadena, esp)
'se muestra el resultado
MsgBox apellido
End Sub
Manual 400 Macros Plus29
© <2005=2010> Elsa M.Meyer (Elsamatilde)
4.2 Armando cadenas
El tema no se encuentra disponible en esta versión DEMO
4.3 Obtener el largo de una cadena
El tema no se encuentra disponible en esta versión DEMO
4.4 Introducir caracteres especiales
El tema no se encuentra disponible en esta versión DEMO
4.5 Detectar o encontrar texto en una cadena
El tema no se encuentra disponible en esta versión DEMO
4.6 Creando cadenas de largo fijo
El tema no se encuentra disponible en esta versión DEMO
4.7 Obtener la parte numerica de una cadena
El tema no se encuentra disponible en esta versión DEMO
Capítulo
V
Manual 400 Macros Plus31
© <2005=2010> Elsa M.Meyer (Elsamatilde)
5 5 - Trabajando con Directorios y Archivos
5.1 Creando un nuevo directorio
El tema no se encuentra disponible en esta versión DEMO
5.2 ESTABLECER LA RUTA DE ACCESO PREDETERMINADA
En el tema anterior hemos visto que la función MkDir crea una carpeta en el directorio
predeterminado de archivos Excel, si no especificamos otra ruta.
Para conocer desde una macro esa ruta (la que se establece desde el menú Herramientas,
Opciones, General del libro Excel) utilizaremos la función CurDir.
En versión Excel2007, la ruta predeterminada se encuentra desde el botón Office,
Opciones de Excel, Guardar, Guardar Libro.
Sub ConoceDir()
Dim miRuta
'obtenemos la ruta de acceso predeterminado
miRuta = CurDir()
'mostramos el resultado en un mensaje
MsgBox miRuta
'otras instrucciones
End Sub
5.3 Establecer si un directorio existe
El tema no se encuentra disponible en esta versión DEMO
5.4 Establecer si un archivo existe en un directorio
El tema no se encuentra disponible en esta versión DEMO
5 - Trabajando con Directorios y Archivos 32
© <2005=2010> Elsa M.Meyer (Elsamatilde)
5.5 Eliminar un archivo de un directorio
El tema no se encuentra disponible en esta versión DEMO
5.6 Establecer nueva unidad de disco
El tema no se encuentra disponible en esta versión DEMO
5.7 Establecer nuevo directorio o carpeta
El tema no se encuentra disponible en esta versión DEMO
5.8 Crear lista de archivos de una carpeta
El tema no se encuentra disponible en esta versión DEMO
5.9 Copiar todos los libros de una carpeta en otra
El tema no se encuentra disponible en esta versión DEMO
5.10 Obtener propiedad fecha y hora de archivos
El tema no se encuentra disponible en esta versión DEMO
5.11 Obtener tamaño de archivos
El tema no se encuentra disponible en esta versión DEMO
Capítulo
VI
6 - Trabajando con Libros 34
© <2005=2010> Elsa M.Meyer (Elsamatilde)
6 6 - Trabajando con Libros
6.1 Principales Metodos y Propiedades de Libros
El tema no se encuentra disponible en esta versión DEMO
6.2 Abriendo Libros
6.2.1 Abrir un segundo libro
El tema no se encuentra disponible en esta versión DEMO
6.2.2 Abrir un libro con clave
El tema no se encuentra disponible en esta versión DEMO
6.2.3 Abrir libro buscando la carpeta que lo contiene
El tema no se encuentra disponible en esta versión DEMO
6.2.4 Ejecutar macro al abrir un libro
El tema no se encuentra disponible en esta versión DEMO
6.2.5 Inhabilitar el mensaje de actualizar vínculos al abrir un libro
El tema no se encuentra disponible en esta versión DEMO
6.2.6 Inhabilitar la opción de actualizar vínculos al abrir otros libros
El tema no se encuentra disponible en esta versión DEMO
Manual 400 Macros Plus35
© <2005=2010> Elsa M.Meyer (Elsamatilde)
6.2.7 Al abrir libro incrementar un contador
El tema no se encuentra disponible en esta versión DEMO
6.2.8 Al abrir libro ocultarlo (minimizarlo) y mostrar un Userform
El tema no se encuentra disponible en esta versión DEMO
6.2.9 Impedir que un libro se abra si la fecha caducó
El tema no se encuentra disponible en esta versión DEMO
6.3 Seleccionar un libro
El tema no se encuentra disponible en esta versión DEMO
6.4 Obtener el nombre de un libro
El tema no se encuentra disponible en esta versión DEMO
6.5 Obtener la ruta de un libro
El tema no se encuentra disponible en esta versión DEMO
6.6 Activar otro libro distinto al actual
El tema no se encuentra disponible en esta versión DEMO
6 - Trabajando con Libros 36
© <2005=2010> Elsa M.Meyer (Elsamatilde)
6.7 Impedir que se abran otros libros mientras esté nuestro libro
abierto
El tema no se encuentra disponible en esta versión DEMO
6.8 CARGAR TODO EL LIBRO EN MAYÚSCULAS
Se puede forzar a que todo el libro sea cargado en mayúsculas con la expresión Ucase (o
minúsculas con Lcase), que al ser colocada en el objeto ThisWorkbook será de aplicación para
todas las hojas
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
'controla si el contenido de la celda active es texto
If Application.WorksheetFunction.IsText(Target.Value) Then
'convierte el contenido de la celda active (Target) en mayúsculas (Ucase)
Target.Value = UCase(Target.Value)
End If
End Sub
Atención: si una celda tiene una fórmula que devuelve texto, al ser convertida en maýusculas
pierde su condición de fórmula quedando solo el texto como valor.
Para evitar esto podemos realizar la consulta con esta instrucción en lugar de la línea en verde
en la rutina anterior :
If Not ActiveCell.HasFormula and Application.WorksheetFunction.IsText(Target.Value)
Then
Para ser utilizada en una sola hoja, no en todas, en lugar de colocar la rutina en el objeto
ThisWorkbook, colocarla en la hoja deseada, seleccionándola entre los objetos que se
encuentran en la ventana del margen izquierdo, por ejemplo: Hoja1 (Hoja1)
La rutina entonces será:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'controla si el contenido de la celda active es texto
If Application.WorksheetFunction.IsText(Target.Value) Then
'convierte el contenido de la celda active (Target) en mayúsculas (Ucase)
Target.Value = UCase(Target.Value)
End If
End Sub
Manual 400 Macros Plus37
© <2005=2010> Elsa M.Meyer (Elsamatilde)
Nota: de la misma manera se puede forzar al uso de minúsculas reemplazando Ucase con
Lcase
Atención: ver otra rutina para convertir mayúsculas o minúsculas en el capítulo 12:
Controlando Teclas....., Ejecutar macro al presionar Enter
6.9 Modificar la forma de cálculo del libro o de una hoja
El tema no se encuentra disponible en esta versión DEMO
6.10 Eliminar vinculos externos
El tema no se encuentra disponible en esta versión DEMO
6.11 Eliminar vinculos internos
El tema no se encuentra disponible en esta versión DEMO
6.12 Saber si uno o más libros existen en una carpeta
El tema no se encuentra disponible en esta versión DEMO
6.13 Crear libro como copia de cierta hoja
El tema no se encuentra disponible en esta versión DEMO
6.14 Copiar un libro sin abrirlo
El tema no se encuentra disponible en esta versión DEMO
6 - Trabajando con Libros 38
© <2005=2010> Elsa M.Meyer (Elsamatilde)
6.15 Cambiar el nombre de un libro sin abrirlo
El tema no se encuentra disponible en esta versión DEMO
6.16 Eliminar Nombres de Rangos en libro
El tema no se encuentra disponible en esta versión DEMO
6.17 Armar un indice vinculado a cada hoja del libro
El tema no se encuentra disponible en esta versión DEMO
6.18 Guardando Libros
6.18.1 Guardar el libro activo
El tema no se encuentra disponible en esta versión DEMO
6.18.2 Guardar un libro con otro nombre
El tema no se encuentra disponible en esta versión DEMO
6.18.3 Guardar un libro con otro formato (txt)
El tema no se encuentra disponible en esta versión DEMO
6.18.4 Guardar un libro con clave
El tema no se encuentra disponible en esta versión DEMO
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros
Demo 400 macros

More Related Content

What's hot

Máxima Seguridad en WordPress
Máxima Seguridad en WordPressMáxima Seguridad en WordPress
Máxima Seguridad en WordPressTelefónica
 
Manual zk access3.5 (1)
Manual zk access3.5 (1)Manual zk access3.5 (1)
Manual zk access3.5 (1)JAV_999
 
Libro Bitcoin: La tecnología Blockchain y su investigación
Libro Bitcoin: La tecnología Blockchain y su investigaciónLibro Bitcoin: La tecnología Blockchain y su investigación
Libro Bitcoin: La tecnología Blockchain y su investigaciónTelefónica
 
Logica de programacion_efrain_oviedo
Logica de programacion_efrain_oviedoLogica de programacion_efrain_oviedo
Logica de programacion_efrain_oviedoJitle Noriega
 
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...Telefónica
 
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...Telefónica
 

What's hot (10)

Slpc3 manual
Slpc3 manualSlpc3 manual
Slpc3 manual
 
Máxima Seguridad en WordPress
Máxima Seguridad en WordPressMáxima Seguridad en WordPress
Máxima Seguridad en WordPress
 
Manual zk access3.5 (1)
Manual zk access3.5 (1)Manual zk access3.5 (1)
Manual zk access3.5 (1)
 
Manual ppr
Manual pprManual ppr
Manual ppr
 
Libro Bitcoin: La tecnología Blockchain y su investigación
Libro Bitcoin: La tecnología Blockchain y su investigaciónLibro Bitcoin: La tecnología Blockchain y su investigación
Libro Bitcoin: La tecnología Blockchain y su investigación
 
Logica de programacion_efrain_oviedo
Logica de programacion_efrain_oviedoLogica de programacion_efrain_oviedo
Logica de programacion_efrain_oviedo
 
Manual pc simu
Manual pc simu  Manual pc simu
Manual pc simu
 
Servlets
ServletsServlets
Servlets
 
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
Índice de libro: "Spring Boot & Angular: Desarrollo de WebApps Seguras. Tomo ...
 
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
Índice del libro "Spring Boot & Angular: Desarrollo de Webapps seguras" de 0x...
 

Viewers also liked

Viewers also liked (6)

Prposal proyek baru
Prposal proyek baruPrposal proyek baru
Prposal proyek baru
 
Presentation final
Presentation finalPresentation final
Presentation final
 
Testing technology products
Testing technology productsTesting technology products
Testing technology products
 
tpp
tpptpp
tpp
 
The viking age in european russia revised
The viking age in european russia revisedThe viking age in european russia revised
The viking age in european russia revised
 
Social content curation
Social content curationSocial content curation
Social content curation
 

Similar to Demo 400 macros

Similar to Demo 400 macros (20)

MANUAL_400_Macros_para_Excel.pdf
MANUAL_400_Macros_para_Excel.pdfMANUAL_400_Macros_para_Excel.pdf
MANUAL_400_Macros_para_Excel.pdf
 
Ejercicios Excel 2010
Ejercicios Excel 2010Ejercicios Excel 2010
Ejercicios Excel 2010
 
Manual microsoft office excel 2010
Manual microsoft office excel 2010Manual microsoft office excel 2010
Manual microsoft office excel 2010
 
Manual microsoft office excel 2010
Manual microsoft office excel 2010Manual microsoft office excel 2010
Manual microsoft office excel 2010
 
Manual microsoft office excel 2010
Manual microsoft office excel 2010Manual microsoft office excel 2010
Manual microsoft office excel 2010
 
Manual microsoft office excel 2010
Manual microsoft office excel 2010Manual microsoft office excel 2010
Manual microsoft office excel 2010
 
Manual Excel 2013.pdf
Manual Excel 2013.pdfManual Excel 2013.pdf
Manual Excel 2013.pdf
 
Aprenda excel 2000 como si estuviera en primero
Aprenda excel 2000 como si estuviera en primeroAprenda excel 2000 como si estuviera en primero
Aprenda excel 2000 como si estuviera en primero
 
Tutorial microsoft
Tutorial microsoftTutorial microsoft
Tutorial microsoft
 
Excel2000
Excel2000Excel2000
Excel2000
 
Aprenda excel 2000 como si estuviera en primero
Aprenda excel 2000 como si estuviera en primeroAprenda excel 2000 como si estuviera en primero
Aprenda excel 2000 como si estuviera en primero
 
Css avanzado
Css avanzadoCss avanzado
Css avanzado
 
Excel avanzado 2010
Excel avanzado 2010Excel avanzado 2010
Excel avanzado 2010
 
PROCESADOR DE TEXTO
PROCESADOR DE TEXTOPROCESADOR DE TEXTO
PROCESADOR DE TEXTO
 
Memòria
MemòriaMemòria
Memòria
 
Excelceoweb
ExcelceowebExcelceoweb
Excelceoweb
 
90131824 curso-formacion-ascensores
90131824 curso-formacion-ascensores90131824 curso-formacion-ascensores
90131824 curso-formacion-ascensores
 
Guía de aprendizaje de Excel 2007
Guía de aprendizaje de Excel 2007Guía de aprendizaje de Excel 2007
Guía de aprendizaje de Excel 2007
 
Guia Excel 2007
Guia Excel 2007Guia Excel 2007
Guia Excel 2007
 
Guiaexcel2007 130306062256-phpapp01
Guiaexcel2007 130306062256-phpapp01Guiaexcel2007 130306062256-phpapp01
Guiaexcel2007 130306062256-phpapp01
 

Recently uploaded

Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Recently uploaded (20)

Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 

Demo 400 macros

  • 1. MANUAL 400 Macros para Excel por Elsa Matilde Meyer (para versiones Excel del 2000 al 2007 inclusive) Copyright © 2.005-2.010 Elsa M.Meyer (Elsamatilde) El presente manual intenta guiar al usuario a potenciar el uso de las planillas Excel, mediante programación. Especialmente indicado para usuarios que ya han experimentado con sus primeras rutinas. Cada capítulo presenta rutinas para determinados temas. Así se pueden encontrar temas como Trabajando con Directorios, con Libros, con Hojas, con Objetos, Filtros, Impresión, otras aplicaciones y más. Además un capítulo con el desarrollo paso a paso de 20 'funciones personales' En esta VERSIÓN DEMO, solo se encuentran disponibles los temas que aparecen en el índice con Mayúsculas. Versión Plus VERSIÓN DEMO
  • 2. Tabla de Contenidos 0 Cap. I 1 - Introducción 15 ................................................................................................................................... 151 BIENVENID@S ................................................................................................................................... 172 BREVE INTRODUCCIÓN AL EDITOR ................................................................................................................................... 183 Cómo crear una macro ................................................................................................................................... 184 Dónde colocar las macros ................................................................................................................................... 185 Cómo ejecutar una macro ................................................................................................................................... 186 Acerca de las macros Auto-Open ................................................................................................................................... 197 Acerca de las macros Auto-Close ................................................................................................................................... 198 Cómo proteger un proyecto ................................................................................................................................... 199 Evitar que las macros se vean desde el menú ................................................................................................................................... 1910 Otras consideraciones: ¿Cómo...? Cap. II 2 - Eventos, Metodos y Propiedades 21 ................................................................................................................................... 211 EVENTOS - LISTADO ................................................................................................................................... 222 Especial: Eventos de Hojas .......................................................................................................................................................... 22Cambios y Selección en Hoja ................................................................................................................................... 223 Metodos ................................................................................................................................... 234 Propiedades Cap. III 3 - Tratamiento de Variables 25 ................................................................................................................................... 251 Tipo de Variables ................................................................................................................................... 252 DURACIÓN DE LAS VARIABLES ................................................................................................................................... 263 Determinar el tipo de variable ................................................................................................................................... 264 Convirtiendo variables ................................................................................................................................... 265 Limpiando variables Cap. IV 4 - Trabajando con Cadenas 28 ................................................................................................................................... 281 EXTRAER PARTES DE UNA CADENA ................................................................................................................................... 292 Armando cadenas ................................................................................................................................... 293 Obtener el largo de una cadena ................................................................................................................................... 294 Introducir caracteres especiales ................................................................................................................................... 295 Detectar o encontrar texto en una cadena ................................................................................................................................... 296 Creando cadenas de largo fijo ................................................................................................................................... 297 Obtener la parte numerica de una cadena Cap. V 5 - Trabajando con Directorios y Archivos 31 Manual 400 Macros PlusI © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 3. ................................................................................................................................... 311 Creando un nuevo directorio ................................................................................................................................... 312 ESTABLECER LA RUTA DE ACCESO PREDETERMINADA ................................................................................................................................... 313 Establecer si un directorio existe ................................................................................................................................... 314 Establecer si un archivo existe en un directorio ................................................................................................................................... 325 Eliminar un archivo de un directorio ................................................................................................................................... 326 Establecer nueva unidad de disco ................................................................................................................................... 327 Establecer nuevo directorio o carpeta ................................................................................................................................... 328 Crear lista de archivos de una carpeta ................................................................................................................................... 329 Copiar todos los libros de una carpeta en otra ................................................................................................................................... 3210 Obtener propiedad fecha y hora de archivos ................................................................................................................................... 3211 Obtener tamaño de archivos Cap. VI 6 - Trabajando con Libros 34 ................................................................................................................................... 341 Principales Metodos y Propiedades de Libros ................................................................................................................................... 342 Abriendo Libros .......................................................................................................................................................... 34Abrir un segundo libro .......................................................................................................................................................... 34Abrir un libro con clave .......................................................................................................................................................... 34Abrir libro buscando la carpeta que lo contiene .......................................................................................................................................................... 34Ejecutar macro al abrir un libro .......................................................................................................................................................... 34Inhabilitar el mensaje de actualizar vínculos al abrir un libro .......................................................................................................................................................... 34Inhabilitar la opción de actualizar vínculos al abrir otros libros .......................................................................................................................................................... 35Al abrir libro incrementar un contador .......................................................................................................................................................... 35Al abrir libro ocultarlo (minimizarlo) y mostrar un Userform .......................................................................................................................................................... 35Impedir que un libro se abra si la fecha caducó ................................................................................................................................... 353 Seleccionar un libro ................................................................................................................................... 354 Obtener el nombre de un libro ................................................................................................................................... 355 Obtener la ruta de un libro ................................................................................................................................... 356 Activar otro libro distinto al actual ................................................................................................................................... 367 Impedir que se abran otros libros mientras esté nuestro libro abierto ................................................................................................................................... 368 CARGAR TODO EL LIBRO EN MAYÚSCULAS ................................................................................................................................... 379 Modificar la forma de cálculo del libro o de una hoja ................................................................................................................................... 3710 Eliminar vinculos externos ................................................................................................................................... 3711 Eliminar vinculos internos ................................................................................................................................... 3712 Saber si uno o más libros existen en una carpeta ................................................................................................................................... 3713 Crear libro como copia de cierta hoja ................................................................................................................................... 3714 Copiar un libro sin abrirlo ................................................................................................................................... 3815 Cambiar el nombre de un libro sin abrirlo ................................................................................................................................... 3816 Eliminar Nombres de Rangos en libro ................................................................................................................................... 3817 Armar un indice vinculado a cada hoja del libro ................................................................................................................................... 3818 Guardando Libros .......................................................................................................................................................... 38Guardar el libro activo .......................................................................................................................................................... 38Guardar un libro con otro nombre .......................................................................................................................................................... 38Guardar un libro con otro formato (txt) IIContents II © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 4. .......................................................................................................................................................... 38Guardar un libro con clave .......................................................................................................................................................... 39Guardar un libro cuyo nombre será el valor de una variable .......................................................................................................................................................... 39Guardar un libro cuyo nombre serán datos concatenados .......................................................................................................................................................... 39Guardar libro sin módulos .......................................................................................................................................................... 39Guardar libro sin código o macros ................................................................................................................................... 3919 Cerrando Libros .......................................................................................................................................................... 39Cerrar todos los libros en uso .......................................................................................................................................................... 39Cerrar un solo libro .......................................................................................................................................................... 39Cerrar un libro SIN guardar los cambios .......................................................................................................................................................... 40Cerrar un libro guardando los cambios .......................................................................................................................................................... 40Impedir el uso del botón Cerrar del libro .......................................................................................................................................................... 40Controlar errores antes de cerrar un libro Cap. VII 7 - Trabajando con Hojas 42 ................................................................................................................................... 421 MÉTODOS PARA HOJAS ................................................................................................................................... 442 Propiedades de las Hojas ................................................................................................................................... 443 Activar o seleccionar otras hojas distintas a la actual ................................................................................................................................... 444 Seleccionar la hoja anterior o posterior a la activa ................................................................................................................................... 445 Seleccionar todas las hojas de un libro ................................................................................................................................... 446 Devolver el nombre de la hoja en una variable ................................................................................................................................... 447 Formas de mostrar el nombre de hojas ................................................................................................................................... 448 Devolver el número de hoja en una variable ................................................................................................................................... 459 Proteger una hoja ................................................................................................................................... 4510 Desproteger una hoja ................................................................................................................................... 4511 Vista previa de la hoja activa y de otras hojas ................................................................................................................................... 4512 Imprimir hojas ................................................................................................................................... 4513 Insertar hojas ................................................................................................................................... 4514 Eliminar hojas ................................................................................................................................... 4515 Copiar hojas ................................................................................................................................... 4616 Crear hoja/libro con un gráfico ................................................................................................................................... 4617 Ocultar hojas ................................................................................................................................... 4618 Mostrar hoja oculta ................................................................................................................................... 4619 Mostrar todas las hojas ocultas de un libro ................................................................................................................................... 4620 Impedir que se vean datos al entrar a hoja ................................................................................................................................... 4621 Cambiar nombre a pestaña o Etiqueta de hojas ................................................................................................................................... 4622 Cambiar color de pestaña o Etiqueta de Hojas ................................................................................................................................... 4723 Mover o cambiar una hoja de lugar ................................................................................................................................... 4724 Insertar imagen en una hoja ................................................................................................................................... 4725 Ordenar las hojas alfabéticamente ................................................................................................................................... 4726 Armar una lista con el nombre de las hojas ................................................................................................................................... 4727 Modificar todos los hipervínculos de la hoja ................................................................................................................................... 4728 Establecer filas y columnas a mostrar al abrir hoja ................................................................................................................................... 4729 Establecer area visible de una hoja Manual 400 Macros PlusIII © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 5. ................................................................................................................................... 4830 Restablecer área visible en hoja ................................................................................................................................... 4831 Crear hojas según valores en una lista ................................................................................................................................... 4832 Aplicar Zoom a un rango u hoja ................................................................................................................................... 4833 Obtener el valor del Zoom aplicado a la hoja ................................................................................................................................... 4834 Ejecutar rutina en todas las hojas del libro ................................................................................................................................... 4835 Hojas de Diálogo: cómo ocultarlas ................................................................................................................................... 4836 Eliminar todos los comentarios de la hoja ................................................................................................................................... 4937 Activar hoja cada tanto tiempo Cap. VIII 8 - Trabajando con Celdas y Rangos 51 ................................................................................................................................... 511 Principales Méotodos para Rangos ................................................................................................................................... 512 PRINCIPALES PROPIEDADES DE RANGOS ................................................................................................................................... 523 Selección de Celdas o Rangos ................................................................................................................................... 524 Selección de rango utilizando variables ................................................................................................................................... 525 Seleccionar celdas a cierta distancia de la celda activa ................................................................................................................................... 536 Ampliar un rango seleccionado ................................................................................................................................... 537 SELECCIONAR LA REGIÓN DE LA CELDA ACTIVA ................................................................................................................................... 538 Seleccionar hasta la última celda vacía -Fin de rango ................................................................................................................................... 539 Devolver la direccion de un rango o celda ................................................................................................................................... 5410 Encontrar última celda con datos ................................................................................................................................... 5411 Ubicarnos en primer celda libre de una columna ................................................................................................................................... 5412 Guardar el numero de la primer fila libre ................................................................................................................................... 5413 Obtener ultima columna con datos ................................................................................................................................... 5414 Obtener el número de columnas de un rango ................................................................................................................................... 5415 Obtener el número de filas de un rango ................................................................................................................................... 5416 Contar la cantidad de objetos de un rango ................................................................................................................................... 5517 Acumular lo que se carga en 1 celda ................................................................................................................................... 5518 Combinar/Descombinar celdas seleccionadas ................................................................................................................................... 5519 Borrar o Limpiar celdas o rangos ................................................................................................................................... 5520 Borrar celdas con cierto contenido ................................................................................................................................... 5521 Eliminar celdas o rangos ................................................................................................................................... 5522 Eliminar filas en blanco ................................................................................................................................... 5523 Eliminar varias filas segun condicion ................................................................................................................................... 5624 Insertar Filas ................................................................................................................................... 5625 Eliminar Filas ................................................................................................................................... 5626 Ocultar filas ................................................................................................................................... 5627 Mostrar filas ................................................................................................................................... 5628 Insertar Columnas ................................................................................................................................... 5629 Eliminar columnas ................................................................................................................................... 5630 Ocultar columnas IVContents IV © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 6. ................................................................................................................................... 5731 Mostrar Columnas ................................................................................................................................... 5732 Insertar comentarios ................................................................................................................................... 5733 Formatos a Celdas ................................................................................................................................... 5734 Formato a Columnas ................................................................................................................................... 5735 Autoajustar columnas ................................................................................................................................... 5736 Cambiar minúsculas por mayúsculas ................................................................................................................................... 5737 Cambiar mayúsculas por minúsculas ................................................................................................................................... 5838 Capturar fecha y hora de carga de datos ................................................................................................................................... 5839 Insertar Nombre de rango ................................................................................................................................... 5840 Insertar Hipervínculos ................................................................................................................................... 5841 Transponer una fila ................................................................................................................................... 5842 Ordenar un rango ................................................................................................................................... 5843 Detectar si la celda contiene formula ................................................................................................................................... 5844 Ejemplo de fórmula con rango variable ................................................................................................................................... 5945 Cómo conocer el color de una celda ................................................................................................................................... 5946 Colorear celdas con mas de 3 condiciones ................................................................................................................................... 5947 Resaltar la fila activa (1) ................................................................................................................................... 5948 Resaltar la fila activa (2) ................................................................................................................................... 5949 Resaltar la celda activa ................................................................................................................................... 5950 Cambiar color de fuente a celdas con datos ................................................................................................................................... 5951 Separar cada caracter de una cadena en distintas col ................................................................................................................................... 6052 Quitar espacios en celdas ................................................................................................................................... 6053 Proteger rangos o celdas ................................................................................................................................... 6054 Recorrer celdas protegidas Cap. IX 9 - Bucles: Instrucciones o Comandos Especiales 62 ................................................................................................................................... 621 Qué es un bucle? ................................................................................................................................... 622 FOR EACH.....NEXT ................................................................................................................................... 633 For ...... Next ................................................................................................................................... 634 While .... Wend ................................................................................................................................... 635 If.... ElseIf....Else.... ................................................................................................................................... 636 Do While .... Loop ................................................................................................................................... 637 Do Until.... Loop ................................................................................................................................... 648 Uso de SET ................................................................................................................................... 649 With....End With ................................................................................................................................... 6410 Uso de Select Case Cap. X 10- Trabajando con fórmulas 66 ................................................................................................................................... 661 Trabajando con fórmulas Manual 400 Macros PlusV © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 7. ................................................................................................................................... 662 INTRODUCIR FÓRMULAS EN CELDAS ................................................................................................................................... 673 Armar fórmula con datos variables ................................................................................................................................... 674 Modificar fórmula de celda ................................................................................................................................... 675 Colocar resultado de fórmula en celdas Cap. XI 11- Trabajando con Objetos Insertados en Hoja 69 ................................................................................................................................... 691 Algunas consideraciones previas ................................................................................................................................... 692 ListBox, Combobox y Textbox .......................................................................................................................................................... 69COMENTARIOS GENERALES .......................................................................................................................................................... 70Mostrar un Combobox al seleccionar hoja .......................................................................................................................................................... 70Ocultar un Combobox luego de seleccionar opcion .......................................................................................................................................................... 70Asignar rango a un Combobox .......................................................................................................................................................... 70Enviar texto a las columnas de un Combobox .......................................................................................................................................................... 70Enviar valor de un Combo a una celda .......................................................................................................................................................... 71Seleccionar celda cuyo valor es el ingresado en Combobox .......................................................................................................................................................... 71Enviar valores de Combo de 4 columnas a celdas .......................................................................................................................................................... 71Limpiar un combo .......................................................................................................................................................... 71Crear controles por macro .......................................................................................................................................................... 71Eliminar todos los controles de una hoja .......................................................................................................................................................... 71Asignar ancho de columnas en Listbox .......................................................................................................................................................... 71Activar hoja según valor en Lista Desplegable .......................................................................................................................................................... 72Buscar valor del Combo en base Devolver otros datos en textbox .......................................................................................................................................................... 72Mostrar valores al clic en control .......................................................................................................................................................... 72Llenar un control Combobox con nombres de hojas ................................................................................................................................... 723 Cuadros de Texto .......................................................................................................................................................... 72Insertar cuadro de texto y asignar algunas propiedades .......................................................................................................................................................... 72Funciones de comprobacion ................................................................................................................................... 724 Imágenes .......................................................................................................................................................... 72Cargar una imagen cuyo nombre se encuentra en una celda .......................................................................................................................................................... 72Segun valor de celda, mostrar una imagen .......................................................................................................................................................... 73Buscar una imagen e insertarla .......................................................................................................................................................... 73Insertar imagenes sobre celdas (1) .......................................................................................................................................................... 73Insertar imagenes sobre ciertas celdas (2) .......................................................................................................................................................... 73Insertar imagenes de tamaño fijo Cap. XII 12- Controlando Teclas y Mensajes de Excel 75 ................................................................................................................................... 751 Consideraciones generales ................................................................................................................................... 752 Impedir que se cancele una macro con ESC ................................................................................................................................... 753 Controlar la tecla ESC- Cancelar a criterio ................................................................................................................................... 754 No mostrar el cursor o la celda activa ................................................................................................................................... 755 Controlar las teclas Enter y Flechas Abajo_Arriba ................................................................................................................................... 756 Controlar otras teclas mediante código ................................................................................................................................... 757 Asignar una macro a una tecla especial ................................................................................................................................... 768 Ejecutar una macro al presionar Enter ................................................................................................................................... 769 Ejecutar una macro con Doble click VIContents VI © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 8. ................................................................................................................................... 7610 Asignar mismo atajo de teclado a varias macros ................................................................................................................................... 7611 NO MOSTRAR AVISOS DE ALERTA ................................................................................................................................... 7712 No mostrar aviso, al guardar un archivo, de que el archivo ya existe: ................................................................................................................................... 7713 No mostrar la ejecución de la macro o el movimiento de hojas: ................................................................................................................................... 7714 Inhabilitar eventos ................................................................................................................................... 7715 Crear atajos de teclado desde una macro Cap. XIII 13- Controlando Errores 79 ................................................................................................................................... 791 ON ERROR RESUME NEXT ................................................................................................................................... 792 On Error GoTo .... ................................................................................................................................... 793 On Error GoTo 0 ................................................................................................................................... 794 Err Cap. XIV 14- Trabajando con Barras, Menues y Pestañas 81 ................................................................................................................................... 811 Consideraciones generales para Barras y otros ................................................................................................................................... 812 OCULTAR LAS PESTAÑAS DE LAS HOJAS ................................................................................................................................... 813 Ocultar las barras de desplazamiento ................................................................................................................................... 814 Ocultar los encabezados de filas y columnas ................................................................................................................................... 815 Ocultar barras de herramientas ................................................................................................................................... 816 Ocultar la barra principal de Excel ................................................................................................................................... 827 Ocultar elementos de la barra principal ................................................................................................................................... 828 Conocer número de barras y controles ................................................................................................................................... 829 Ocultar opciones de Impresion y Otras ................................................................................................................................... 8210 Ocultar opciones Cortar y Copiar ................................................................................................................................... 8211 Crear una barra personal con macro ................................................................................................................................... 8212 Mostrar una barra de herramientas personal ................................................................................................................................... 8213 Quitar una barra personal al salir ................................................................................................................................... 8314 Impedir el uso del clic derecho ................................................................................................................................... 8315 Ejecutar macro al clic derecho ................................................................................................................................... 8316 Mostrar mensaje en Barra de Estado ................................................................................................................................... 8317 Mostrar cajas de diálogo de Excel ................................................................................................................................... 8318 Eliminar menu contextual de Objetos Cap. XV 15- Uso de Cuadros de Mensaje 85 ................................................................................................................................... 851 Construcción de MsgBox ................................................................................................................................... 852 MsgBox como PopUp Cap. XVI 16- Uso de InputBox 87 ................................................................................................................................... 871 CONSTRUCCIÓN DE INPUTBOX ................................................................................................................................... 882 Controlar que se ha ingresado un valor Manual 400 Macros PlusVII © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 9. ................................................................................................................................... 883 Establecer un valor predeterminado en un InputBox ................................................................................................................................... 884 Controlar que lo ingresado a un InputBox sea referencia válida ................................................................................................................................... 885 Ingresar y seleccionar un rango con InputBox ................................................................................................................................... 886 Seleccionar datos en un rango ................................................................................................................................... 887 Controlar que el dato ingresado sea fecha Cap. XVII 17- Buscando Datos 90 ................................................................................................................................... 901 Buscar una hoja en cierto libro ................................................................................................................................... 902 Devolver en una celda el resultado de una búsqueda ................................................................................................................................... 903 Devolver todos los resultados de una búsqueda ................................................................................................................................... 904 Buscar un dato. Copiar la fila de todos los registros encontrados ................................................................................................................................... 905 Buscar un dato en un rango, posicionarse y seguir buscando ................................................................................................................................... 906 Controlar si un valor resultado se encuentra en la base ................................................................................................................................... 907 Función BuscarV devolviendo valores a la izquierda ................................................................................................................................... 918 Buscar cierto dato en un rango. Si se encuentra borrar la fila que lo contiene ................................................................................................................................... 919 BUSCAR DATOS DE 1 COLUMNA EN OTRA Y BORRAR LOS REPETIDOS ................................................................................................................................... 9210 Evitar duplicados al cargar una base ................................................................................................................................... 9211 Buscar un dato. Devolver en Textbox toda la fila ................................................................................................................................... 9212 Obtener el valor de la ultima celda de una fila Cap. XVIII 18- Evaluando y Comparando Datos 94 ................................................................................................................................... 941 Comparando cadenas ................................................................................................................................... 942 Evaluar si una celda guarda fechas ................................................................................................................................... 943 Evaluar si un dato es numérico o no ................................................................................................................................... 944 EVALUAR SI UNA CELDA PRESENTA ERROR ................................................................................................................................... 945 Eliminar filas si las celdas de cierta columna están vacías ................................................................................................................................... 956 Eliminar fila si varios datos del registro cumplen una condición ................................................................................................................................... 957 Rellenar celdas vacías de un rango con cierto valor ................................................................................................................................... 958 Evaluar el color de celda ................................................................................................................................... 959 Eliminar filas vacías ................................................................................................................................... 9510 Contar celdas con igual color de fuente ................................................................................................................................... 9511 Ordenar - Controlar - borrar repetidos ................................................................................................................................... 9512 Comparar cadenas que pueden estar en mayúsculas o minúsculas ................................................................................................................................... 9613 Extraer la parte numérica de una cadena ................................................................................................................................... 9614 Armar tabla con valores no duplicados ................................................................................................................................... 9615 Armar Listas validadas, sin duplicados ................................................................................................................................... 9616 Comparar 2 columnas. Copiar en otra las filas que coinciden ................................................................................................................................... 9617 Comparar 2 columnas. Copiar las que NO coinciden ................................................................................................................................... 9618 Bloquear celdas según fecha ................................................................................................................................... 9619 Evaluando si celdas contienen #N/A-Copiar en otro destino VIIIContents VIII © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 10. Cap. XIX 19- Copiando Datos 98 ................................................................................................................................... 981 Copiar rango de datos de una hoja a la siguiente ................................................................................................................................... 982 Copiar solo filas impares ................................................................................................................................... 983 COPIAR SOLO VALORES - PEGADO ESPECIAL ................................................................................................................................... 984 Copiar formato - Pegado Especial ................................................................................................................................... 985 Pegado Especial sin seleccionar ................................................................................................................................... 996 Quitar fórmulas en celdas de color ................................................................................................................................... 997 Copiar una fórmula en la celda siguiente ................................................................................................................................... 998 Copiar cierta fila en otro libro. Conocer última fila con datos ................................................................................................................................... 999 Copiar un rango de filas en otro libro Resumen ................................................................................................................................... 9910 Duplicar una hoja- La copia tendrá los valores, no las fórmulas ................................................................................................................................... 9911 Copiar varios libros en uno solo ................................................................................................................................... 9912 Copiar cabecera o columna de títulos ................................................................................................................................... 10013 Copiar celdas de color en otro destino- Eliminar fila Cap. XX 20- Uso de Temporizador 102 ................................................................................................................................... 1021 CARACTERÍSTICAS DEL MÉTODO ONTIME ................................................................................................................................... 1022 Guardar el libro cada minuto ................................................................................................................................... 1033 Mostrar un Userform durante un tiempo y ocultarlo ................................................................................................................................... 1034 Lllamar a un Userform por unos segundos ................................................................................................................................... 1035 Activar otra hoja cada tantos minutos Cap. XXI 21- Trabajando con Filtros 105 ................................................................................................................................... 1051 Establecer criterio para filtro ................................................................................................................................... 1052 Filtro en hoja protegida ................................................................................................................................... 1053 Autofiltros con campos fecha ................................................................................................................................... 1054 Establecer AutoFiltro con criterios en otra hoja ................................................................................................................................... 1055 APLICAR FILTRO AVANZADO Y COPIAR RESULTADO ................................................................................................................................... 1066 Copiar solo las filas de un Filtro avanzado en otra hoja ................................................................................................................................... 1067 Copiar celdas filtradas sin los títulos ................................................................................................................................... 1068 Obtener la primer fila de un filtro ................................................................................................................................... 1079 Obtener el total de celdas filtradas ................................................................................................................................... 10710 Seleccionar en un rango filtrado, la celda que tiene el valor de un ComboBox ................................................................................................................................... 10711 Sumar una columna de datos en un rango filtrado ................................................................................................................................... 10712 Quitar autofiltros solo a ciertas columnas Cap. XXII 22- Trabajando con Gráficos 109 ................................................................................................................................... 1091 Seleccionar un gráfico ignorando su nombre ................................................................................................................................... 1092 Cortar un gráfico de una hoja y pegarlo en otra ................................................................................................................................... 1093 Asignar los datos de origen de un gráfico Manual 400 Macros PlusIX © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 11. ................................................................................................................................... 1094 Crear un gráfico en hoja nueva y guardar el libro ................................................................................................................................... 1095 Crear gráfico con datos de hoja variable ................................................................................................................................... 1096 Imprimir gráfico y tabla que lo alimenta ................................................................................................................................... 1107 MODIFICANDO DIMENSIONES DE TODOS LOS GRAFICOS ................................................................................................................................... 1108 Copiar todos los graficos en otra hoja ................................................................................................................................... 1109 Eliminar todos los graficos de una hoja ................................................................................................................................... 11010 Colorear series por macro ................................................................................................................................... 11011 Ubicando un gráfico por macro ................................................................................................................................... 11112 Recorrer todos los gráficos del libro ................................................................................................................................... 11113 Reconocer el área del gráfico seleccionado Cap. XXIII 23- Trabajando con Userforms 113 ................................................................................................................................... 1131 Generalidades - Crear un Userform ................................................................................................................................... 1132 Mostrar un Userform ................................................................................................................................... 1133 MOSTRAR UN USERFORM EN EL TOPE DE LA VENTANA ................................................................................................................................... 1134 Ocultar un Userform ................................................................................................................................... 1145 Cerrar un Userform ................................................................................................................................... 1146 Desactivar el botón 'Cerrar' de un Userform ................................................................................................................................... 1147 Inmovilizar un Userform ................................................................................................................................... 1148 Cargar valores de inicio ................................................................................................................................... 1149 Volcar datos de un Userform a una hoja ................................................................................................................................... 11410 Actualizar base con datos del Userform ................................................................................................................................... 11411 Seleccionar datos desde un Userform-RefEdit ................................................................................................................................... 11512 Seleccionar rango para eliminar duplicados ................................................................................................................................... 11513 Agrandar un Frame a medida que se ingresan datos ................................................................................................................................... 11514 Validar campos numéricos en Textbox ................................................................................................................................... 11515 Validar campos fecha en Textbox ................................................................................................................................... 11516 Establecer separadores en campos fecha en textbox ................................................................................................................................... 11517 Ingresar fechas sin formato en Textbox ................................................................................................................................... 11518 Asignar formato moneda a un TextBox ................................................................................................................................... 11619 Asignar formato Password a un textbox ................................................................................................................................... 11620 Limpiar todos los textbox de un Userform ................................................................................................................................... 11621 Guardar un dato del Userform antes de cerrarlo ................................................................................................................................... 11622 Agregar un Grafico en un Userform ................................................................................................................................... 11623 Trabajando con controles Listbox y Combobox ................................................................................................................................... 11624 Llenar un control ListBox con nombres de hojas ................................................................................................................................... 11625 Ejecutar una macro según valor seleccionado en Combobox Cap. XXIV 24- Trabajando con Tablas Dinámicas 118 ................................................................................................................................... 1181 Comentarios sobre Tablas Dinámicas XContents X © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 12. ................................................................................................................................... 1182 Evitar la actualización automática de TD ................................................................................................................................... 1183 OBTENER EL TOTAL DE UNA TABLA DINÁMICA ................................................................................................................................... 1194 Convetir un campo en un campo de filas ................................................................................................................................... 1195 Eliminar todas las Tablas Dinamicas de una hoja ................................................................................................................................... 1196 Uso de variables en TD Cap. XXV 25- Impresión 121 ................................................................................................................................... 1211 Imprimir hojas ................................................................................................................................... 1212 Vista previa ................................................................................................................................... 1213 Establecer área de impresión: ................................................................................................................................... 1214 IMPEDIR LA IMPRESIÓN ................................................................................................................................... 1215 Enviar información al Encabezado y Pié ................................................................................................................................... 1216 Instrucciones para configurar la página ................................................................................................................................... 1227 Llamar al cuadro de opciones para Imprimir ................................................................................................................................... 1228 Elegir impresora por medio de código Cap. XXVI 26- Trabajando con el entorno Excel 124 ................................................................................................................................... 1241 Ocultar Excel ................................................................................................................................... 1242 Ocultar Excel por cierto tiempo ................................................................................................................................... 1243 Quitar la lista de archivos abiertos del menú Archivo ................................................................................................................................... 1244 Importar datos de otro libro Excel ................................................................................................................................... 1245 Obtener la lista de archivos Excel de una carpeta ................................................................................................................................... 1246 Ocultar botones de Minimizar y Maximizar ................................................................................................................................... 1247 Inhabilitar el botón de Cerrar de Excel ................................................................................................................................... 1258 Evitar el cierre accidental de Excel ................................................................................................................................... 1259 Ejecutar rutinas o funciones de otros libros ................................................................................................................................... 12510 OBTENER LISTADO DE RUTINAS DE UN LIBRO ................................................................................................................................... 12611 Exportar módulos ................................................................................................................................... 12612 Importar módulos guardados como txt ................................................................................................................................... 12613 Eliminar código ................................................................................................................................... 12614 Eliminar codigo de cierto objeto o modulo ................................................................................................................................... 12615 Saber si un archivo existe en un directorio ................................................................................................................................... 12716 Eliminar un archivo del directorio ................................................................................................................................... 12717 Iniciar una nueva sesión de Excel ................................................................................................................................... 12718 Quitar colores a la lista de la herramienta Relleno ................................................................................................................................... 12719 Restablecer la paleta de colores ................................................................................................................................... 12720 Determinar el tiempo que demora una rutina ................................................................................................................................... 12721 Fijar las mayusculas para todo el libro ................................................................................................................................... 12722 Habilitar o no la tecla BLOQNUM ................................................................................................................................... 12823 Llamar a un archivo HELP Manual 400 Macros PlusXI © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 13. Cap. XXVII 27- Trabajando con otras aplicaciones 130 ................................................................................................................................... 1301 COPIAR CELDAS EXCEL A UN DOC WORD ................................................................................................................................... 1302 Abrir un archivo de texto (CSV) ................................................................................................................................... 1313 Imprimir un documento Word desde Excel ................................................................................................................................... 1314 Importar Datos de Outlook ................................................................................................................................... 1315 Enviar un libro por Mail ................................................................................................................................... 1316 Enviar un mail ................................................................................................................................... 1317 Enviar cuerpo de correo con saltos de línea ................................................................................................................................... 1318 Importar datos de Access ................................................................................................................................... 1319 Llamar a la Calculadora ................................................................................................................................... 13210 Llamar a la aplicación WinZip ................................................................................................................................... 13211 Ejecutar archivo de sonido al cambio en celda Cap. XXVIII 28- Creando Complementos 134 ................................................................................................................................... 1341 Cómo crear un Complemento ................................................................................................................................... 1342 Habilitar complementos Cap. XXIX 29- Funciones definidas por Usuario (UDF) 136 ................................................................................................................................... 1361 CREAR FUNCIONES PERSONALES ................................................................................................................................... 1362 Sintaxis de funciones ................................................................................................................................... 1363 Funcion Numeros a Letras ................................................................................................................................... 1374 Funcion Calculo del NIF (Identificador en España) ................................................................................................................................... 1375 Funcion Digito Verificador (RUT) ................................................................................................................................... 1376 Funcion BuscarV en varias hojas ................................................................................................................................... 1377 Funcion Buscar el enésimo elemento ................................................................................................................................... 1378 Funcion Encontrar ultimo dato ................................................................................................................................... 1379 Funcion Sumar rango con error ................................................................................................................................... 13710 Función Contar celdas de cierto color ................................................................................................................................... 13811 Funcion Sumar celdas de cierto color ................................................................................................................................... 13812 Funcion Extraer números a la derecha de una cadena ................................................................................................................................... 13813 Función Contar número de vocales en una cadena ................................................................................................................................... 13814 Función Contar número de consonantes en una cadena ................................................................................................................................... 13815 Funcion Contar numeros pares ................................................................................................................................... 13816 Funcion Contar numeros impares ................................................................................................................................... 13817 Funcion Fecha creación del libro ................................................................................................................................... 13918 Funcion Fecha ultima modificacion del libro ................................................................................................................................... 13919 Funcion Binario (para > 500) ................................................................................................................................... 13920 Funcion Reconocer numeros Primos ................................................................................................................................... 13921 Funcion Nombre Dia XIIContents XII © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 14. ................................................................................................................................... 13922 Funcion Nombre Mes Cap. XXX 30- Otras Rutinas Interesantes 141 ................................................................................................................................... 1411 MOSTRAR VALORES EN COMBO SEGÚN SELECCIÓN EN OTRO ................................................................................................................................... 1422 Ejecutar macro según valor en celda ................................................................................................................................... 1423 Colorear celdas por condicion ................................................................................................................................... 1424 Convertir Monedas ................................................................................................................................... 1425 Indicar equipos disponibles en un Ciber: ................................................................................................................................... 1426 Lotería: Ubicar valores ingresados ................................................................................................................................... 1427 Ordenar una tabla por valores tipo Indice ................................................................................................................................... 1428 Aplicar parpadeo continuo a celdas ................................................................................................................................... 1439 Crear libros por cada hoja ................................................................................................................................... 14310 Restringir uso de hojas ................................................................................................................................... 14311 Mantener imagen fija en pantalla ................................................................................................................................... 14312 Estado de progreso de una rutina Manual 400 Macros PlusXIII © <2005=2010> Elsa M.Meyer (Elsamatilde)
  • 16. Manual 400 Macros Plus15 © <2005=2010> Elsa M.Meyer (Elsamatilde) 1 1 - Introducción 1.1 BIENVENID@S VERSIÓN DEMO Manual: 400 MACROS Plus + 20 Funciones (v.3.0) - para versiones Excel 2000 al 2007 inclusive La intención de este Manual es guiar al usuario de Excel a potenciar las planillas de cálculo con programación. NOTA: En esta versión DEMO se podrá acceder a un tema por capítulo. El mismo se encuentra en mayúsculas en el índice. No solo los usuarios 'programadores' sacarán provecho de este libro. Los que nunca han trabajado con algún lenguaje de programación verán que muy fácilmente podrán 'personalizar' sus libros adaptando o creando rutinas con código VBA (Visual Basic para Aplicaciones) En el primer capítulo un par de temas con imágenes para familiarizarnos con el entorno Editor de Macros. A continuación un par de capítulos detallando conceptos que serán utilizados a lo largo del manual: Eventos, Métodos, Variables, Cadenas y otros. Luego siguen capítulos ordenados por objetos: Libros-Hojas-Celdas o rangos-Barras-Objetos dibujados , etc. donde partiendo de las principales instrucciones básicas (ej: Abrir o Guardar libros), llegaremos hasta códigos para manipular otras aplicaciones (tanto Word, Access o el mismo entorno Windows), crear Complementos, código para controlar Barras, Teclas, Objetos, Filtros y mucho más. Así hasta llegar al último capítulo con 'Rutinas Interesantes' que pueden serte de utilidad o de modelo para otras tareas, como: Colorear celdas por condición, Crear Libros por cada hoja y muchas más. Cada línea, cada comando se encuentra explicado en español para que puedan ser adaptados a las necesidades y configuración de cada libro. Contiene además imágenes que guiarán y mostrarán los resultados obtenidos una vez ejecutada la macro. Una característica a resaltar de este Manual es su formato y su potente buscador. Al solicitar un tema nos devolverá la lista de entradas que aparecen en todo el libro, como en la imagen donde se ingresó la palabra 'find' apareciendo 11 entradas (para la primer coincidencia) lo que nos permite abarcar de manera completa el tema buscado.
  • 17. 1 - Introducción 16 © <2005=2010> Elsa M.Meyer (Elsamatilde) Otra característica a resaltar de este formato, es su posibilidad de agregar comentarios en cada tema. Podrás agregar tus propias observaciones, ejemplos u otros datos de interés. Desde el menú Edición, Anotar encontrarás una ventana para escribir. Cada vez que accedas a este tema, encontrarás en el margen superior un clip recordándote que el tema tiene agregados. Haciendo clic en él, aparecerán tus notas personales.
  • 18. Manual 400 Macros Plus17 © <2005=2010> Elsa M.Meyer (Elsamatilde) Las rutinas contenidas en este manual, fueron desarrolladas y probadas en las siguientes versiones: Windows98/Windows XP con Office 2000, Office XP (2002) , Office 2003 y Excel 2007 En caso de dificultad para adaptar alguna rutina a tu libro, envíame tus comentarios a: cibersoft_arg@yahoo.com.ar 1.2 BREVE INTRODUCCIÓN AL EDITOR Qué es una macro: Una macro es un conjunto de instrucciones en lenguaje de programación, que en el caso de Excel se conoce como VBA (Visual Basic for Applications), que nos permite realizar ciertas tareas, que por ser repetitivas nos valemos de una rutina para automatizarlas. Estas instrucciones se guardan en el Editor de Macros. Por ejemplo: al ingresar datos en una columna que nos complete el resto del registro con los datos de otra hoja, que cada vez que ingresamos valores con cierto criterio, nos coloque un color de fuente o fondo, etc. El Editor de Macros: Desde el menú Herramientas, Macros, Editor de Macros tenemos acceso a una ventana donde se colocarán ya sea simples instrucciones, pequeñas rutinas y códigos completos de aplicaciones como Facturación, Control de Gestión, etc. En versión Excel 2007 se accede desde la ficha Programador, Visual Basic (primer opción) Veamos qué encontramos en la ventana del Editor:
  • 19. 1 - Introducción 18 © <2005=2010> Elsa M.Meyer (Elsamatilde) 1.3 Cómo crear una macro El tema no se encuentra disponible en esta versión DEMO 1.4 Dónde colocar las macros El tema no se encuentra disponible en esta versión DEMO 1.5 Cómo ejecutar una macro El tema no se encuentra disponible en esta versión DEMO 1.6 Acerca de las macros Auto-Open El tema no se encuentra disponible en esta versión DEMO
  • 20. Manual 400 Macros Plus19 © <2005=2010> Elsa M.Meyer (Elsamatilde) 1.7 Acerca de las macros Auto-Close El tema no se encuentra disponible en esta versión DEMO 1.8 Cómo proteger un proyecto El tema no se encuentra disponible en esta versión DEMO 1.9 Evitar que las macros se vean desde el menú El tema no se encuentra disponible en esta versión DEMO 1.10 Otras consideraciones: ¿Cómo...? El tema no se encuentra disponible en esta versión DEMO
  • 22. Manual 400 Macros Plus21 © <2005=2010> Elsa M.Meyer (Elsamatilde) 2 2 - Eventos, Metodos y Propiedades 2.1 EVENTOS - LISTADO Hemos visto en el capítulo Introducción, Cómo ejecutar una macro, que éstas pueden ejecutarse ante un evento del libro u hoja. ¿Pero qué es un evento? es una acción que el usuario ejecuta, y tiene que ver con los objetos Libro y Hojas, siendo los más comunes: abrir, guardar, imprimir o cerrar libros, activar o desactivar hojas. Estas rutinas no pueden ser ejecutadas manualmente, como las que colocamos en módulos, sino que se ejecutan al producirse el evento. Si volvemos a la imagen que se encuentra en el capítulo Introducción, Breve introducción al Editor, veremos los 2 cuadros desplegables: Objetos y Eventos. Debemos seleccionar un objeto y luego optar por un evento. A continuación la primera y última instrucción de la macro se escribirán. Ejemplos: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'instrucciones que se ejecutarán antes de guardar el libro End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'instrucciones que se ejecutarán cada vez que se seleccione una celda End Sub A continuación los Eventos de Libros: Activate: se activa el libro AddInstall: ocurre al instalar el libro como complemento AddUninstall: ocurre al desinstalar el libro como complemento BeforeClose: antes de cerrar el libro BeforePrint: antes de imprimir BeforeSave: antes de guardar el libro Deactivate: al desactivar el libro NewSheet: al insertar nueva hoja Open: al abrir el libro SheetActivate: al activar una hoja SheetCalculate: al efectuar cálculos en hoja SheetChange: al efectuar cambios en hoja SheetDeactivate: al desactivar hoja SheetFollowHyperlink: al clic en un hipervínculo SheetPivotTableUpdate: ocurre después de actualizar la hoja del informe de tabla dinámica SheetSelectionChange: se produce cuando la selección cambia en una hoja WindowActivate: cuando se activa cualquier ventana del libro WindowDeactivate: cuando se desactiva cualquier ventana del libro WindowResize: cuando se cambia de tamaño cualquier ventana del libro PivotTableCloseConnection: Ocurre después de que un informe de tabla dinámica cierra la conexión con su origen de datos.
  • 23. 2 - Eventos, Metodos y Propiedades 22 © <2005=2010> Elsa M.Meyer (Elsamatilde) PivotTableOpenConnection: Ocurre después de que un informe de tabla dinámica abre la conexión con su origen de datos SheetBeforeDoubleClick: Ocurre al hacer doble clic en una hoja de cálculo, antes de la acción predeterminada para el doble clic SheetBeforeRightClick: Ocurre al hacer clic con el botón secundario del mouse (ratón) en una hoja de cálculo, antes de la acción predeterminada. Las rutinas colocadas en los eventos del libro (Private Sub Workbook) que hacen mención a hojas (Sheet....) se ejecutan para todas las hojas del libro. Principales Eventos de Hojas: A diferencia de los últimos eventos de la lista anterior, un evento de Hoja solo se ejecuta para el objeto Hoja donde se encuentre. Es decir, si seleccionamos el objeto Hoja2 (Barras_Inicio) la macro de Evento que escribamos solo se ejecutará para esta hoja 2. Los eventos de Hojas son: Activate: al activar esta hoja BeforeDoubleClic: al presionar doble clic BeforeRightClick: al clic derecho en la hoja Calculate: al realizar cálculos en esta hoja Change: al introducir cambios en esta hoja Deactivate: al desactivar la hoja FollowHyperlink: al presionar un hipervínculo PivotTableUpdate: al actualizar una tabla dinámica en la hoja SelectionChange: al seleccionar y pasar de celda. Atención: también los controles colocados en un Userform tienen su lista de eventos, como SetFocus (al recibir el enfoque), LostFocus (al perder el enfoque) y muchos más que encontrarán en los ejemplos del capítulo Userforms 2.2 Especial: Eventos de Hojas 2.2.1 Cambios y Selección en Hoja El tema no se encuentra disponible en esta versión DEMO 2.3 Metodos El tema no se encuentra disponible en esta versión DEMO
  • 24. Manual 400 Macros Plus23 © <2005=2010> Elsa M.Meyer (Elsamatilde) 2.4 Propiedades El tema no se encuentra disponible en esta versión DEMO
  • 26. Manual 400 Macros Plus25 © <2005=2010> Elsa M.Meyer (Elsamatilde) 3 3 - Tratamiento de Variables 3.1 Tipo de Variables El tema no se encuentra disponible en esta versión DEMO 3.2 DURACIÓN DE LAS VARIABLES Las variables pueden ser: Locales o Públicas Variables Locales: Las variables Locales son las que se declaran dentro de un procedimiento y sus valores sólo pueden ser utilizados en éste. Para declararlas se utiliza la sentencia Dim, generalmente al inicio del procedimiento, aunque también pueden ser declaradas en otros puntos del mismo. Ejemplo: Sub Macro1() Dim valor1 as Integer, valor2 as Integer Dim cadena1 as String 'otras instrucciones End Sub Variables Públicas: Son las que estarán disponibles para todos los procesos, sus valores pueden ser utilizados en cualquier módulo. Se declaran como Public. Recomiendo utilizar un módulo especialmente destinado a la declaración de estas variables lo que facilitará su ubicación. Si se declararán en un módulo utilizado para otro procedimiento deberán ser las primeras instrucciones Ejemplo: Option Explicit Public minro as Byte Sub Macro2() 'instrucciones End Sub Constantes: A diferencia de las variables que modifican sus valores durante la ejecución de un proceso, las Constantes mantienen su valor. También pueden ser Locales o Públicas Ejemplo: Const dia as Integer Public Const cadena1 as String
  • 27. 3 - Tratamiento de Variables 26 © <2005=2010> Elsa M.Meyer (Elsamatilde) 3.3 Determinar el tipo de variable El tema no se encuentra disponible en esta versión DEMO 3.4 Convirtiendo variables El tema no se encuentra disponible en esta versión DEMO 3.5 Limpiando variables El tema no se encuentra disponible en esta versión DEMO
  • 29. 4 - Trabajando con Cadenas 28 © <2005=2010> Elsa M.Meyer (Elsamatilde) 4 4 - Trabajando con Cadenas 4.1 EXTRAER PARTES DE UNA CADENA Para extraer partes de una cadena, ya sea el contenido de una celda, una variable o el resultado de un InputBox, contamos con las siguientes funciones: Left: devuelve el contenido de una cadena comenzando desde la izquierda a partir de la posición indicada en el segundo argumento. Right: devuelve lo que se encuentra a la derecha de la cadena Len: devuelve el largo de una cadena Mid: devuelve lo que se encuentra a partir de cierta posición y del largo establecido InStr: devuelve la posición inicial de una cadena en otra Ejemplos: si la celda A1 contiene el valor 'ABC567DEF' Left(Range("A1").Value, 3) devuelve 'ABC' Mid(Range("A1").Value, 3) devuelve 'C567DEF' Mid(Range("A1").Value, 4, 2) devuelve "56" Si el resultado obtenido queda como String, convertirlo a número utilizar la función Val (*ver más sobre Conversión de variables en el capítulo: Tratamiento de Variables) Right(Range("A1").Value, 2) devuelve 'EF' También podemos utilizar la función InStr conjuntamente con Mid para obtener una cadena a partir de cierto caracter. En el ejemplo se trata de obtener el apellido sabiendo que se ubica después del caracter 'espacio' Sub variables() Dim esp As integer Dim apellido As String Dim cadena As String cadena = "Juan Perez" 'se obtiene la ubicación del espacio esp = InStr("Juan Perez", " ") 'se obtiene la cadena a partir de la posición del espacio apellido = Mid(cadena, esp) 'se muestra el resultado MsgBox apellido End Sub
  • 30. Manual 400 Macros Plus29 © <2005=2010> Elsa M.Meyer (Elsamatilde) 4.2 Armando cadenas El tema no se encuentra disponible en esta versión DEMO 4.3 Obtener el largo de una cadena El tema no se encuentra disponible en esta versión DEMO 4.4 Introducir caracteres especiales El tema no se encuentra disponible en esta versión DEMO 4.5 Detectar o encontrar texto en una cadena El tema no se encuentra disponible en esta versión DEMO 4.6 Creando cadenas de largo fijo El tema no se encuentra disponible en esta versión DEMO 4.7 Obtener la parte numerica de una cadena El tema no se encuentra disponible en esta versión DEMO
  • 32. Manual 400 Macros Plus31 © <2005=2010> Elsa M.Meyer (Elsamatilde) 5 5 - Trabajando con Directorios y Archivos 5.1 Creando un nuevo directorio El tema no se encuentra disponible en esta versión DEMO 5.2 ESTABLECER LA RUTA DE ACCESO PREDETERMINADA En el tema anterior hemos visto que la función MkDir crea una carpeta en el directorio predeterminado de archivos Excel, si no especificamos otra ruta. Para conocer desde una macro esa ruta (la que se establece desde el menú Herramientas, Opciones, General del libro Excel) utilizaremos la función CurDir. En versión Excel2007, la ruta predeterminada se encuentra desde el botón Office, Opciones de Excel, Guardar, Guardar Libro. Sub ConoceDir() Dim miRuta 'obtenemos la ruta de acceso predeterminado miRuta = CurDir() 'mostramos el resultado en un mensaje MsgBox miRuta 'otras instrucciones End Sub 5.3 Establecer si un directorio existe El tema no se encuentra disponible en esta versión DEMO 5.4 Establecer si un archivo existe en un directorio El tema no se encuentra disponible en esta versión DEMO
  • 33. 5 - Trabajando con Directorios y Archivos 32 © <2005=2010> Elsa M.Meyer (Elsamatilde) 5.5 Eliminar un archivo de un directorio El tema no se encuentra disponible en esta versión DEMO 5.6 Establecer nueva unidad de disco El tema no se encuentra disponible en esta versión DEMO 5.7 Establecer nuevo directorio o carpeta El tema no se encuentra disponible en esta versión DEMO 5.8 Crear lista de archivos de una carpeta El tema no se encuentra disponible en esta versión DEMO 5.9 Copiar todos los libros de una carpeta en otra El tema no se encuentra disponible en esta versión DEMO 5.10 Obtener propiedad fecha y hora de archivos El tema no se encuentra disponible en esta versión DEMO 5.11 Obtener tamaño de archivos El tema no se encuentra disponible en esta versión DEMO
  • 35. 6 - Trabajando con Libros 34 © <2005=2010> Elsa M.Meyer (Elsamatilde) 6 6 - Trabajando con Libros 6.1 Principales Metodos y Propiedades de Libros El tema no se encuentra disponible en esta versión DEMO 6.2 Abriendo Libros 6.2.1 Abrir un segundo libro El tema no se encuentra disponible en esta versión DEMO 6.2.2 Abrir un libro con clave El tema no se encuentra disponible en esta versión DEMO 6.2.3 Abrir libro buscando la carpeta que lo contiene El tema no se encuentra disponible en esta versión DEMO 6.2.4 Ejecutar macro al abrir un libro El tema no se encuentra disponible en esta versión DEMO 6.2.5 Inhabilitar el mensaje de actualizar vínculos al abrir un libro El tema no se encuentra disponible en esta versión DEMO 6.2.6 Inhabilitar la opción de actualizar vínculos al abrir otros libros El tema no se encuentra disponible en esta versión DEMO
  • 36. Manual 400 Macros Plus35 © <2005=2010> Elsa M.Meyer (Elsamatilde) 6.2.7 Al abrir libro incrementar un contador El tema no se encuentra disponible en esta versión DEMO 6.2.8 Al abrir libro ocultarlo (minimizarlo) y mostrar un Userform El tema no se encuentra disponible en esta versión DEMO 6.2.9 Impedir que un libro se abra si la fecha caducó El tema no se encuentra disponible en esta versión DEMO 6.3 Seleccionar un libro El tema no se encuentra disponible en esta versión DEMO 6.4 Obtener el nombre de un libro El tema no se encuentra disponible en esta versión DEMO 6.5 Obtener la ruta de un libro El tema no se encuentra disponible en esta versión DEMO 6.6 Activar otro libro distinto al actual El tema no se encuentra disponible en esta versión DEMO
  • 37. 6 - Trabajando con Libros 36 © <2005=2010> Elsa M.Meyer (Elsamatilde) 6.7 Impedir que se abran otros libros mientras esté nuestro libro abierto El tema no se encuentra disponible en esta versión DEMO 6.8 CARGAR TODO EL LIBRO EN MAYÚSCULAS Se puede forzar a que todo el libro sea cargado en mayúsculas con la expresión Ucase (o minúsculas con Lcase), que al ser colocada en el objeto ThisWorkbook será de aplicación para todas las hojas Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next 'controla si el contenido de la celda active es texto If Application.WorksheetFunction.IsText(Target.Value) Then 'convierte el contenido de la celda active (Target) en mayúsculas (Ucase) Target.Value = UCase(Target.Value) End If End Sub Atención: si una celda tiene una fórmula que devuelve texto, al ser convertida en maýusculas pierde su condición de fórmula quedando solo el texto como valor. Para evitar esto podemos realizar la consulta con esta instrucción en lugar de la línea en verde en la rutina anterior : If Not ActiveCell.HasFormula and Application.WorksheetFunction.IsText(Target.Value) Then Para ser utilizada en una sola hoja, no en todas, en lugar de colocar la rutina en el objeto ThisWorkbook, colocarla en la hoja deseada, seleccionándola entre los objetos que se encuentran en la ventana del margen izquierdo, por ejemplo: Hoja1 (Hoja1) La rutina entonces será: Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next 'controla si el contenido de la celda active es texto If Application.WorksheetFunction.IsText(Target.Value) Then 'convierte el contenido de la celda active (Target) en mayúsculas (Ucase) Target.Value = UCase(Target.Value) End If End Sub
  • 38. Manual 400 Macros Plus37 © <2005=2010> Elsa M.Meyer (Elsamatilde) Nota: de la misma manera se puede forzar al uso de minúsculas reemplazando Ucase con Lcase Atención: ver otra rutina para convertir mayúsculas o minúsculas en el capítulo 12: Controlando Teclas....., Ejecutar macro al presionar Enter 6.9 Modificar la forma de cálculo del libro o de una hoja El tema no se encuentra disponible en esta versión DEMO 6.10 Eliminar vinculos externos El tema no se encuentra disponible en esta versión DEMO 6.11 Eliminar vinculos internos El tema no se encuentra disponible en esta versión DEMO 6.12 Saber si uno o más libros existen en una carpeta El tema no se encuentra disponible en esta versión DEMO 6.13 Crear libro como copia de cierta hoja El tema no se encuentra disponible en esta versión DEMO 6.14 Copiar un libro sin abrirlo El tema no se encuentra disponible en esta versión DEMO
  • 39. 6 - Trabajando con Libros 38 © <2005=2010> Elsa M.Meyer (Elsamatilde) 6.15 Cambiar el nombre de un libro sin abrirlo El tema no se encuentra disponible en esta versión DEMO 6.16 Eliminar Nombres de Rangos en libro El tema no se encuentra disponible en esta versión DEMO 6.17 Armar un indice vinculado a cada hoja del libro El tema no se encuentra disponible en esta versión DEMO 6.18 Guardando Libros 6.18.1 Guardar el libro activo El tema no se encuentra disponible en esta versión DEMO 6.18.2 Guardar un libro con otro nombre El tema no se encuentra disponible en esta versión DEMO 6.18.3 Guardar un libro con otro formato (txt) El tema no se encuentra disponible en esta versión DEMO 6.18.4 Guardar un libro con clave El tema no se encuentra disponible en esta versión DEMO