P. 1
trucos de excel

trucos de excel

|Views: 280|Likes:
Published by arana64

More info:

Published by: arana64 on Feb 14, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as XLS, PDF, TXT or read online from Scribd
See more
See less

02/16/2014

pdf

text

original

TRUCOS DE EXCEL

1 Para rellenar una Base de Datos 30 2 Para separar un sector circular en un gráfico 31 3 Para incluir una nueva serie de datos en un gráfico 32 4 Para seleccionar una tabla completa 33 5 Para poder ver las fórmulas de una hoja 34 6 Auto_Open() y Auto_Close() 35 7 Personal.xls 36 8 Saludo al arrancar 37 1 Para rellenar una Base de Datos 9 Nombrar Hoja desde una celda 38 podemos pasar de un dato a otro de la misma fila con <TAB> y si después de introdu 10 Protección de una hoja 39 dato de la fila pulsamos <INTRO> el cursor se posicionará en el primer dato de la sigu 11 Propiedad EnableSelection 40 12 EnableSelection = xlUnlockedCells 41 13 Opciones de Ordenación 42 14 Criterios utilizados para filtrar una base de datos 43 15 Varias líneas en una celda 44 16 Mover celdas entre hojas 45 17 Insertar filas o columnas rápidamente 46 18 Copiar en Excel XP arrastrando con Ctrl 47 19 Edición, Rellenar, Series 48 20 Algunas teclas de navegación 49 21 Cálculo automático en la barra de estado 50 22 Algunas abreviaturas de teclado 51 23 Al pulsar Intro se desplaza el cursor hacia abajo, pero se puede cambiar 52 24 F11 53 25 Proteger celdas 54 26 Ocultar la formula en una celda 55 27 Copiar una hoja 56 28 Insertar Comentarios 57 29 Texto con diversos formatos en una misma celda 58

Print Propiedad ListFillRange del ComboBox Propiedad LinKedCell del ComboBox Propiedad ListIndex del ComboBox La función =TEXTO Curiosidades de alguna funciones con valor propio Cambiar el nombre de un Móludo Nombre de usuario: UserName Extensiones de los nombres de macro Exit Sub.blogspot. Importar un módulo La cláusula Private Inspección rápida de variables Modificar el valor de una variable en tiempo de ejecución Ventana Inmediato Debug.http://soluexcel. Exit Function Macro que pregunta si se desea salir de la aplicación Llamada a un procedimiento Proteger con contraseña las macros Convertir una función en un Complemento SELECCIONE EL TRUCO QUE QUIERA VISUALIZAR .xlt Puede trabajar con Estilos Libros que se abren al iniciar Excel una Base de Datos La función =CELDA ar de un dato a otro de la misma fila con <TAB> y si después de introducir el último Exportar un módulo pulsamos <INTRO> el cursor se posicionará en el primer dato de la siguiente fila.com TRUCOS DE EXCEL 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 Trabajar simultáneamente en varias hojas Escribir en varias celdas simultáneamente Ver todas las fórmulas de una hoja Borrar La fuente por defecto en Excel es la Arial 10 pero se puede cambiar Plantillas *.

.

..Wend Contar cuantas veces se repite un mismo caracter en un texto Manejo de Rangos Ocultar Hojas Determinar la fila hasta la que llega un rango .Hacer referencia a un RANGO Para localizar la última celda de una lista Abrir un libro existente: Borrar un registro de una tabla que contenga un dato concreto Creación de una Fórmula personalizada Macro que cierra Excel Macro que elimina las barras de desplazamiento Macro que protege el libro y la hoja La función =EXTRAE y la función =ENCONTRAR La función =RESIDUO permite calcular la parte Fraccionario Macro que borra los ceros de un rango Macro que reemplaza una palabra por otra Calculo del NIF Función que calcula la fila que ocupa cierto valor en una tabla Para poner el nombre del fichero en una celda Para poner el nombre de la hoja en una celda Función que muestra la fórmula de una celda Determinación de si un número es primo o no es primo Activar o Desactivar el empleo de la función IMPORTARDATOSDINAMICOS Factorial Inicializar una matriz Evitar los movimientos de pantalla mientras se ejecuta una macro Formula referida siempre a un mismo rango While.

.

0 1 2 3 4 5 6 7 8 9 : . < = .

pero no esta visible ya que tiene el atributo de Escondido (Hidden). Opciones. que se encuentra en la carpeta "Office" del directorio donde esta instalado MSOffice. pestaña Ver. En caso que no exista lo podemos crear con un libro de trabajo nuevo. Cada vez que dejamos de trabajar con este archivo. Sub Auto_Open() Dim hora As Double Dim saludo As String hora = (Now . El procedimiento ha de estar en ThisWorkbook del libro Informe.Int(Now)) * 24 Select Case hora Case 6 To 14 saludo = "Buenos días" Case 14 To 21 saludo = "Buenas tardes" Case Else saludo = "Buenas noches" End Select MsgBox saludo & " Amo" End Sub Equivalente a auto_open existe otra macro Workbook_Open. Auto_Open() y Auto_Close() Existe una macro de autoarranque que se ejecuta cuando se abre el libro. lo debemos salvar y luego activar el comando "Ocultar" del menú "Ventana".xls al abrir el libro Informe.'.nº 1 TRUCO Para rellenar una Base de Datos podemos pasar de un dato a otro de la misma fila con <TAB> y si después de introducir el último dato de la fila pulsamos <INTRO> el cursor se posicionará en el primer dato de la siguiente fila.. salvarlo con este nombre y dejarlo en la carpeta "InicioXL" (XLStart). Para seleccionar una tabla completa basta con posicionarse en cualquier celda de la tabla y pulsar [CTRL]+*. Para poder ver las fórmulas de una hoja puede hacer lo siguiente: Herramientas.xls").Activate End Sub Personal.com 8/21 . para que no se vea cuando iniciamos la aplicación. pero ésta ha de ser guardada no en un módulo normal. Esto se hace con el libro PERSONAL. Pruebe lo siguiente: El siguiente procedimiento permite abrir automáticamente el libro Balance.xls" 'Activación del libro Informe Windows("Informe.XLS Personal. También se puede cambiar el color de un sector pulsando sobre él con el botón derecho del ratón y eligiendo 'Formato de punto de datos. Sub Workbook_Open() 'Apertura de libro Balance Workbooks. y en Opciones de Ventana marcar Fórmulas. Para separar un sector circular en un gráfico se pulsa con el ratón sobre él y luego se separa.xls es un Libro que se carga cada vez que se inicia Excel.xls Podemos crear una macro para que este disponible en todas las hojas de cálculo. por lo que si necesitamos modificarlo lo debemos hacer a través del comando "Mostrar" del menú "Ventana". (Si usa el asterisco del teclado general no olvide que se consigue pulsando también la tecla [MAYUSCULAS]).xls. Pero también existe un método de Teclado Abreviado que consiste en pulsar [ALT]+º y si se vuelven a pulsar estas dos teclas se muestra la hoja como habitualmente la vemos.Open Filename:="C:/Contabilidad/Balance. Para incluir una nueva serie de datos en un gráfico se copia el rango de datos nuevo y se pega sobre el gráfico. TIPO Base de Datos 2 Gráficos 3 4 Gráficos Teclado 5 Teclado 6 Macros 7 Personalizar www.excelavanzado. sino en ThisWorkbook. Y existe otra que se ejecuta justo antes de cerrar el libro que se llama auto_close(). Se llama auto_open().xls..

Nombrar Hoja desde una celda Esta macro permite asignar el nombre que pongamos en la celda A1 como nombre de la Hoja actual. Personalizar 13 Base de Datos www. Cerrar el editor. Esto se hace cuando no se desea que alguien vea la fórmula de una celda.Name = Range("A1").EnableSelection = xlUnlockedCells End Sub El valor por defecto es xlNoRestrictions Opciones de Ordenación Al ordenar un rango de datos podemos elegir en Opciones que la ordenación sea Normal (alfabética) o según una de las Listas Personalizadas de Excel. Después se debe proteger la hoja con: Herramientas.com 9/21 . TIPO Macros Macros 10 Personalizar 11 Personalizar 12 EnableSelection = xlUnlockedCells Para paliar el inconveniente citado anteriormente para las versiones de Excel 2000 y anteriores se puede hacer lo siguiente: Ir al Editor de Visual Basic. En la Ventana de propiedades buscar la propiedad EnableSelection y ponerle el valor 1. Ese procedimiento se puede realizar también mediante una macro: Private Sub Workbook_Open() Worksheets("Hoja1").excelavanzado. pestaña Proteger. Proteger. Si únicamente le dejamos seleccionar las desbloqueadas nos encontraremos con algo parecido a un formulario. quitar la casilla de verificación que esta puesta por defecto en 'Bloqueada'. Si no le permitimos seleccionar las celdas bloqueadas y desbloqueadas no podrá posicionarse con el cursor sobre ellas. Con la doble opción (protección de hoja y la propiedad EnableSelection) será imposible seleccionar una celda. porque la propiedad EnableSelection no conserva el valor modificado al cerrar la plantilla.xls hace que al iniciar Excel nos salga un mensaje saludándonos. volver a Excel y grabar la plantilla. Con la doble opción (protección de hoja y la propiedad EnableSelection) será imposible seleccionar una celda. Puede ordenar en vertical (que es lo normal) o en horizontal. Si marcamos 'Oculta' no se verá el contenido de la celda en la barra de fórmulas. Si deseamos desbloquear algunas de ellas debemos hacer lo siguiente: Formato.XLS]Hoja1 Saludo al arrancar Crear un libro Personal. Propiedad EnableSelection Para reforzar el bloqueo del paso anterior podemos hacer lo siguiente: Ir al Editor de Visual Basic. En el Explorador de proyectos ir a la hoja que queramos proteger. y por lo tanto copiar o modificar cualquier valor. Celda. En la Ventana de propiedades buscar la propiedad EnableSelection y ponerle el valor 1. Este procedimiento no funciona en Excel 2000 y en las versiones anteriores. volver a Excel y grabar la plantilla. Cerrar el editor. Aunque lo cierto es que pocos usuarios conocen la citada propiedad. Proteger hoja. Se le pueden permitir más o menos acciones al usuario. Este procedimiento no funciona en Excel 2000 y en las versiones anteriores.Personalizar nº 8 9 TRUCO La ruta de mi fichero es: C:\Documents and Settings\Adolfo\Datos de programa\Microsoft\Excel\XLSTART\ [PERSONAL.xls como se ha indicado anteriormente con la macro de autoarranque siguiente: Sub Auto_open() MsgBox ("Que tengas un buen día") End Sub Esta macro creada en el libro Personal.Value End Sub Protección de una hoja Las celdas por defecto vienen bloqueadas. Sub NombreHoja() ActiveSheet. En el Explorador de proyectos ir a la hoja que queramos proteger. y por lo tanto copiar o modificar cualquier valor. porque la propiedad EnableSelection no conserva el valor modificado al cerrar la plantilla. Puede distinguir mayúsculas de minúsculas.

nº 14 TRUCO Criterios utilizados para filtrar una base de datos Un criterio está formado al menos por dos celdas. de forma que los criterios que estan en la misma fila se han de cumplir ambos (operador Y). Ctrl + Fin Celda inferior derecha al área activa Alt + + Barra de desplazamiento vertical u AvPg Página a la derecha Shift horizontal Permite desplazamientos más rápidos Ctrl + AvPg Avanza entre las hojas de un libro Para ir al extremo superior de un bloque de datos. Y si lo hace mientras presiona la tecla Shift podrá seleccionar rangos. Sabes que estás encima del control de relleno. Pulsando sobre ella con el botón derecho del ratón podemos cambiar la suma por un promedio. o bien su edad es de 30 años y se llaman Maria. el mínimo o contar los elementos seleccionados en el rango. prueba a hacer esto: Vete al principio de lo que tengas escrito Pon el ratón sobre el control de relleno (es el puntito negro que tiene el cursor abajo a la derecha). haga doble clic en el extremo superior de la celda seleccionada. Series Poner el primer número y arrastrar el controlador de relleno con la tecla Ctrl pulsada. Rellenar. La primera es un nombre de campo y la segunda que estará debajo es el criterio propiamente dicho. Por ejemplo.000 Cuando usamos varios criterios estos se relacionan entre si mediante concatenadores lógicos Y u O. verás que se insertan filas o columnas. En ese caso el criterio esta formado por múltiples celdas. supongamos que deseamos filtrar de una base de datos los registros correspondientes a trabajadores que cumplan que su salario esta comprendido entre 30. el máximo.Flecha abajo Última celda de un rango.000 euros. Algunas teclas de navegación Ctrl + Intro Ir a A1 Fin . Insertar filas o columnas rápidamente En una hoja de Excel que ya tengas rellena. y si están en fila distinta se han de cumplir unos u otros (operador O). presione ALT y mantenga presionado hasta que deje el rango en la parte de la hoja de destino que desee. Esto nos dará una serie con incrementos unitarios. se mueve. mayús) y sin soltarla pulsa el botón izquierdo del ratón y arrástralo hacia abajo o hacia la derecha. Ctrl + Flecha abajo Última celda de un rango. Mover celdas entre hojas Seleccione el rango a mover. Con los demás bloques puede ir a los demás extremos del bloque.excelavanzado.com 10/21 . Edición. Si no se emplea el Ctrl la celda no se copia. TIPO Base de Datos 15 Personalizar 16 Personalizar 17 Personalizar 18 19 20 Copiar en Excel XP arrastrando con Ctrl Se puede copiar una celda arrastrando con Ctrl desde alguno de los 4 lados del borde de la celda activa. Varias líneas en una celda Para escribir varias líneas en la misma celda puedes escribir lo que quieras y para abrir un espacio hacia abajo en la misma celda pulsar Alt+Enter. Llévelo hasta la pestaña de la hoja de destino. Personalizar Personalizar Teclado 21 Personalizar www. porque la cruz blanca que es normalmente el ratón se cambia a color negro Ahora pulsa la tecla de mayúsculas (no la de bloq.000 y 40. Salario >=30. Cálculo automático en la barra de estado Al seleccionar un rango de números vemos su suma en la barra de estado (abajo).

Celda.21 nº TRUCO TIPO Personalizar 22 23 24 Algunas abreviaturas de teclado Ctrl + C Copiar Ctrl + V Pegar Ctrl + X Cortar Ctrl + Z Deshacer Al pulsar Intro se desplaza el cursor hacia abajo.com 11/21 . Ocultar la formula en una celda Con Formato. Seguidamente se copia al portapapeles. Oculta se marcan las celdas cuyas fórmulas o contenido visto en la línea de edición se desee ocultar. Copiar una hoja Para copiar una hoja completa dispone de dos sistemas: El primero y más fácil es señalar con el ratón la pestaña de la hoja a copiar. Al soltar se habrá duplicado completamente la hoja. por ejemplo con Ctrl + C. Proteger hoja. Teclado Teclado Gráficos 25 Personalizar 26 Personalizar 27 Personalizar 28 Insertar Comentarios Se pueden insertar comentarios en las celdas. o no verlos en absoluto según elija una opción u otra en Herramientas. Modificar. Para ello. Opciones. Esto selecciona la hoja completamente. Proteger celdas Con Formato. Puede verlos completamente. Mover selección después de ENTRAR. pero se puede cambiar Puede cambiarlo en Herramientas. Después se ha de proteger la hoja. Protege. Celda. Y con Mayúsculas + TAB se salta hacia atrás. Proteger hoja. pulsar Ctrl y sin soltar arrastrar la pestaña con el ratón. Si la hoja a copiar se llamaba 'Hoja 1'. Comentarios. pulse con el botón derecho del ratón y elija 'Insertar Comentario'. la nueva hoja se llamará 'Hoja 1 (2)' Es segundo método consiste en situar el ratón en el cuadradito que queda como intersección del indicador de filas y columnas. Personalizar 29 Personalizar www. Con TAB se puede saltar de una a otra celda de las desbloqueadas. por ejemplo con Ctrl + V. Proteger. con Herramientas. Texto con diversos formatos en una misma celda Se pueden dar distintos formatos a los caracteres o palabras de una misma celda.excelavanzado. Opciones. Ver. Proteger. Proteger. quitar la casilla de verificación en Bloqueada se consigue que en estas celdas se pueda escribir después de ejecutar Herramientas. F11 Pulsando F11 sobre una serie de datos se construye un gráfico completo y de forma automática. Se inserta una hoja nueva y pulsando sobre ella en el citado cuadradito se pega el contenido del portapapeles. solo la indicación de que la celta tiene un comentario.

xlt). Si son un conjunto de hojas correlativas. formulas. que se utilizarán en todos los nuevos libros abiertos (si la plantilla se llama libro. Borrar Con el comando Edición. Para volver a la situación anterior volver a pulsar. Escribir en varias celdas simultáneamente Señale las celdas donde quiere escribir una misma expresión. Escriba dicha expresión. en varias hojas simultáneamente ha de señalarlas primero. Nuevo y salga el Panel de Tareas y en el elija Plantillas Generales. TIPO Personalizar Personalizar Personalizar Personalizar Personalizar 34 Personalizar 35 Personalizar 36 Puede trabajar con Estilos En Formato. Contenido (Supr) o Comentarios. Plantillas *. Volumen (m3) Esto se consigue señalando en la barra de fórmulas el carácter o caracteres que se quieren cambiar y aplicándoles el formato deseado. Y valide su introducción con Ctrl + Intro. Formatos. cierto informe mensual. Activar el libro en el que se quiere cambiar la fuente por defecto. La plantilla de libro predeterminada (libro. para predefinir una factura. textos. Para borrar un rango primero seleccione el rango y luego presione Shift mientras arrastra con el ratón el indicador de relleno hacia el extremo superior izquierdo del rango. Ver todas las fórmulas de una hoja Se consigue pulsando Alt + º (esto es. la tecla Alt y simultáneamente la tecla de 1º que está a la izquierda del número 1). También se puede conseguir mediante: Herramientas. Estilo puede modificar el estilo normal o crear nuevos estilos. Estilo y dentro del formato de estilo Normal elegir Modificar.excelavanzado. etc.xlt) u hojas nuevas insertadas (si la plantilla se llama hoja. Pero también se puede cambiar la fuente sólo en el libro activo de la siguiente forma. un balance. Cuando haya terminado de introducir la información y formatos comunes haga clic en cualquier pestaña y así se desactivará el modo de trabajo conjunto. Ejecute Formato. Fórmulas. fórmulas.com 12/21 . Ver. dar formato. pero sólo estarán disponibles en el Libro Activo.29 nº 30 31 32 33 TRUCO Por ejemplo: puede poner en una celda la siguiente expresión: Volumen (m3) Véase el distinto color de la fuente y el 3 como superíndice. etc. señale la primera haciendo clic con el ratón sobre la pestaña que indica el nombre de la primera y haga Mayúsculas + clic en la última. Trabajar simultáneamente en varias hojas Antes de escribir texto. por ejemplo. Opciones. General y elegir la Fuente Estándar y el tamaño. Si no presiona Shift conseguirá borrar el contenido pero no los formatos. Incluso si son de rangos separados. Finalmente Aceptar. Personalizar www.xlt) y la plantilla de hoja predeterminada (hoja. Fuente y proceder a cambiar la fuente.xlt) se han de grabar como plantilla en el directorio INICIAR que para la versión XP suele estar en: C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Excel\INICIAR o bien en: C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Excel\XLSTART Tanto las plantillas que tenga en la carpeta de inicio predeterminada de Excel como las que haya definido en la carpeta de plantillas (C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Plantillas) las tendrá disponibles cuando haga Archivo. Opciones. barras de herramientas personalizadas e incluso macros. La fuente por defecto en Excel es la Arial 10 pero se puede cambiar Se puede cambiar para todos los libros nuevos mediante: Herramientas. También pueden existir otras plantillas para diferentes usos.. Si las hojas no son consecutivas selecciones la primera con un clic y las restantes con un Ctrl + clic en cada una. estilos.xlt Las plantillas permiten predefinir formatos. Borrar se puede elegir entre Todo.

4. Pase al editor de visual basic y active el módulo a exportar.36 nº TRUCO Si se desea que los estilos estén disponibles de forma permanente sigua los siguientes pasos: Abra el libro cuyos Estilos quiere guardar permanentemente. En cuadro de edición Nombre de Archivo. Modificar el valor de una variable en tiempo de ejecución A veces resulta interesante cambiar el valor de alguna variable cuando se está ejecutando el programa. Aparece un cuadro de diálogo. "Al inicio. =CELDA("contenido". Para ello agregue a la ventana de inspección la variable que desee cambiar. TIPO Personalizar 37 38 Libros que se abren al iniciar Excel Los libros que coloque en la carpeta de inicio de Excel: C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Excel\INICIAR o bien en C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Excel\XLSTART Se abrirán al iniciar Excel.A3) Proporciona el contenido de la celda A3. abrir todos los libros en:" La función =CELDA La función CELDA es la típica función que sirve para varias cosas según que argumentos se utilicen. Otro argumento interesante es "contenido". Ejecute Archivo. Seleccione Archivo/ Exportar archivo. Seleccione en la lista Buscar en: la carpeta donde tiene ubicado el archivo a importar. se muestra el valor de la misma. Para ello abra los dos ficheros (o más) y ejecute los pasos señalados desde el fichero hacia el que quiere llevar los nuevos estilos. si sitúa el puntero de ratón sobre una variable. Una vez localizada la carpeta. Si necesita llamar un procedimiento o función desde otro módulo. De esta forma cada vez que abra un libro u hoja nuevos se dispondrá de estos Estilos. Estilo. Sitúese en la celda patrón y elija Formato. por ejemplo "General. nunca debe precederlo por la cláusula private. Puede transferir los estilos de un libro a otro mediante Formato. etc. Ventana Inmediato Personalizar Función 39 Macros 40 Macros 41 Macros 42 Macros 43 Macros 44 Macros www. 2. General. Opciones. cambie su valor sobre la propia ventana de inspección y continúe la ejecución del programa. Combinar. Seleccione Archivo/ Importar Archivo.com 13/21 .excelavanzado. En la ayuda hay un error y en lugar de poner "nombrearchivo" pone "archivo". teclee el nombre para el archivo donde se guardará el módulo. 2. 3. Inspección rápida de variables Cuando ejecuta un programa paso a paso. 4. La cláusula Private Puede anteponer la cláusula private a todos los procedimientos y funciones que sean llamados sólo desde el mismo módulo. Escriba como nombre de fichero Libro. observe que . Guardar como. Exportar un módulo 1. Active el editor Visual Basic. También puede definir una carpeta de inicio de Excel en Herramientas.BAS es la extensión de estos archivos. para ver que ocurre si coge determinados valores. Pulse sobre el botón Guardar. recuerde que esta cláusula restringe el ámbito de utilización de un procedimiento a su propio módulo.Bas en el ejemplo) y pulse sobre Abrir. elija como tipo Plantilla (*.Bas".xlt o Hoja. Importar un módulo 1.xlt y guárdelo en la carpeta de inicio de Excel (C:\Documents and Settings\nombreusuario\Datos de programa\Microsoft\Excel\INICIAR). Aparece un cuadro de diálogo. Abra un libro nuevo y combine los Estilos en éste. Puede convertir el estilo de una celda en un tipo de estilo personalizado. Estilo y cambie el nombre por uno nuevo de su elección. es una forma de ahorrar memoria y hacer que el programa corra un poco más rápido.xlt). Si se usa con "nombrearchivo" Err:502 proporciona el nombre y ruta del archivo (siempre que esté grabado). seleccione el archivo a importar (General. 3. para terminar un bucle.

A mi me da -1965686714.Print Esta expresión permite efectuar la depuración del programa de forma más cómoda. Ejemplo: '54 La función TEXTO tiene dos argumentos que según la ayuda son: =TEXTO(valor. Es un argumento optativo Pero la ayuda no se corresponde con la realidad de la función. tenga en cuenta que los elementos de la lista son tratados como datos de tipo String aunque contenga números o fechas. Debug. si se escribe como texto (anteponiéndole una comilla simple) quedará alineado a la izquierda."43") Pero si prueba =TEXTO("43") obtendrá un error Curiosidades de alguna funciones con valor propio Algunos nombres de función tienen valor propio si se escriben un una celda y sin argumentos. Pruebe =TEXTO(. De esta forma conseguiremos ver todos los valores que toma la variable cada vez que el programa pasa por este comando. Se introduce en un programa antecediendo a una variable que se desea comprobar en la ventana Inmediato. si son fechas.excelavanzado.). observe que no aparece en la ventana propiedades del cuadro combinado. etc.com 14/21 . Tenga en cuenta que esta propiedad sólo está disponible en tiempo de ejecución.Print. no se muestra con el formato correspondiente. Por ejemplo. Propiedad LinKedCell del ComboBox En esta propiedad debe especificar en que celda debe copiarse el elemento seleccionado de la lista.Print "Dos a la " & i & " = " & t Next MsgBox t End Sub Después de efectuada la depuración se quita la línea que contiene el comando Debug. Ejemplo: Sub Dos_a_la_diez() Dim i As Integer Dim t As Integer t=1 For i = 1 To 10 t=t*2 Debug.formato) valor: es el número que queremos convertir a texto formato: es el formato que queremos darle. TIPO Macros Macros 46 Macros 47 Macros 48 Propiedad ListIndex del ComboBox Mediante esta propiedad podremos saber que elemento de la lista es el seleccionado por su número de tipo String aunque contenga números o fechas. por lo que en estos casos. el rango debe ser una columna (o dos . O al menos eso es lo que he podido comprobar en la versión XP. Cuidado con esta propiedad. o el signo ?. Las funciones que he visto que tienen valor propio son las siguientes: =PRECIO Err:508 Macros 49 Función 50 Función www. Se ven en la Ventana Inmediato [Ctr+G]. o tres. si alguna vez construye una lista con números verá que el dato seleccionado se alinea a la derecha. por lo que en estos casos. ya que en la práctica esta función tiene los argumentos cambiados de orden. Propiedad ListFillRange del ComboBox Con esta propiedad deberemos definir los elementos que debe mostrar la lista. Ponga en una celda cualquiera +PRECIO y al pulsar intro verá que aparece un valor. Si no hay ningún elemento seleccionado valdrá -1. etc.44 nº 45 TRUCO Puedes inspeccionar variables desde esta ventana anteponiendo la palabra print antes de la variable. a veces será necesario aplicar funciones de conversión de datos antes que el dato se copie en la hoja. Su función contraria es =VALOR. no se puede establecer en modo diseño. a veces será necesario aplicar 1. La función =TEXTO Esta función permite convertir un valor numérico en un texto. es decir la podremos leer mientras esté funcionando el programa. Al escribir un número en una celda queda alineado a la derecha. debe especificarse el rango que contiene los elementos a mostrar.

LAB Err:508 y muchas más.nº 51 TRUCO =AMORTIZ. en cuyo caso es obligatoria. se utilizan los nombres: Módulo 1.DefaultFilePath = "C:\Documents and Settings\Adolfo\Mis documentos" . Extensiones de los nombres de macro . "Ultima pregunta") = vbYes Then Application. Podemos cambiar el nombre el un módulo en sus propiedades (F4). Macro que pregunta si se desea salir de la aplicación Sub SalirAplic() If MsgBox("¿Quiere salir de la aplicación". Nombre de usuario: UserName Vamos a crear una función que proporcione el nombre de usuario. vbQuestion + vbYesNo. salvo que existan argumentos. Primero utilizando la Grabadora de Macros. La encontrará en la categoría de Funciones Definidas por el usuario. Exit Function Se usan eventualmente para salir de un procedimiento o función. Y detener la Grabadora.Módulos estandar. Cerrar la ventana de Opciones pulsando en Aceptar. La única propiedad de un Módulo es 'name'.StandardFont = "Arial" .Quit End If End Sub Llamada a un procedimiento [Call] NombreProc [(lista de argumentos)] La palabra clave Call es opcional para llamar a un procedimiento. Active la Grabadora y luego seleccione Herramientas. Extensión . son las que aparece al ampliar las funciones al instalar las complementarias. Cambiar el nombre de un Móludo Al insertar módulos en el Editor de Visual Basic. Realice un cambio en el nombre de usuario.UserName End Function Puede probarla.com 15/21 .Módulos de clase. Exit Sub. Funcition Usuario() Usuario = Application.EnableSound = False . Herramientas para Análisis. etc.PER Err:508 =DIAS.DIAS Err:508 =DURACION Err:508 =VNA. Haga lo siguiente.RollZoom = False End With End Sub Ahora vamos a crear la función =Usuario siguiendo el procedimiento inverso.cls. Módulo 2.StandardFontSize = "10" . Sub Suma(a As Byte. Los argumentos deben ir entre paréntesis y pueden ser valores o variables. con Herramientas. Extensión .frm.UserName = "Adolfo Aparicio" .Formularios. pestaña General. b As Byte) TIPO Función Macros 52 Macros 53 Macros 54 55 Macros Macros 56 Macros www. La macro obtenida será la siguiente: Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 06/08/2004 por Adolfo ' ' With Application .LIN Err:508 =CUPON. Extensión . . Por lo que veo. . Complementos. Opciones.NO.excelavanzado.bas.

SalirAplic Para llamar a un procedimiento de otro libro Application.SalirAplic. es decir no podrás modificar o añadir mas Funciones. 0). Ejemplo: Prueba a poner esto en una celda de una hoja de Excel cualquiera: =BUSCARV(200. el libro Informe.xls" Al ejecutar este comando. Por eso es recomendable guardar primero el Libro en formato *.Run "NombreDelLibro!NombreDelMódulo.excelavanzado.nº 57 58 TRUCO MsgBox "La suma es " & a + b End Sub Sub sumar() Call Suma(3. hemos de convertir el Libro que contiene la función en un Complemento.xls y luego como *. Los Complementos disponibles se ven haciendo: Herramientas => Complementos. y tienes acceso a Internet verás como respuesta la letra B. Para localizar la última celda de una lista Sub Final() While ActiveCell. Para XP puede ser: C:\Documents and Settings\Adolfo\Datos de programa\Microsoft\AddIns\ Para convertir el libro que contiene nuestra Función en un Complemento.xla.servidor.'http://www.xls]Nombre de Hoja'!Rango Si está en una Hoja de otro Libro.NombreDelProcedimiento" Ejemplo: Application.xls]Nombre de Hoja'!Rango Si el rango está en otro ordenador conectado al nuestro por una Intranet: '\\Servidor\Carpeta\[Nombre de Libro.Value <> "" ActiveCell. Excel carga los complementos guardados en el directorio donde tengáis instalado MsOffice y luego en una carpeta que varía con la versión que tengas instalada. Un aspecto a tener en cuenta es que los Complementos no son editables.fcjs.xls!ThisWorkbook.xls]Nombre de Hoja'!Rango Si el rango está en otro ordenador conectado al nuestro por Intrernet: 'http://www.urjc.2) Si todo va bien.xls]Hoja1'!tab1.xls]Hoja'!Rango Los apóstrofes (') son necesarios si existen espacios. Si lo guardáis en el directorio que tiene tu versión asignado estará siempre disponible. Proteger con contraseña las macros Alt + F11 Herramientas => Propiedades de VBAProject => Protección => Bloquear proyecto para visualización => Contraseña Convertir una función en un Complemento Podemos hacer que una función creada por el usuario este disponible en todos los Libros.com/Carpeta/[Libro.xls") Edición Macros Macros www. y el Libro se encuentra en diferente carpeta que el actual: 'c:\Carpeta\SubCarpeta\[Nombre de Libro. y el Libro se encuentra en la misma carpeta que el actual: '[Nombre de Libro.Select Wend End Sub Abrir un libro existente: Sub AbrirLibro() Workbooks. bastara ir al Menú Archivo/Guardar como y elegir el formato Complemento de Microsoft Excel (*. 4) End Sub Para llamar a un procedimiento de otro módulo NombreDelMódulo.xls debe estar abierto.xla).Run "Informe.NombreDelProcedimiento Ejemplo: ThisWorkbook.Offset(1.Open ("C:\Mis documentos\Ejemplo. TIPO Macros Macros Macros 59 60 61 Hacer referencia a un RANGO Sintaxis para hacer referencia a un Rango: Si el rango está en la misma Hoja: Rango Si está en otra Hoja del mismo Libro: 'Nombre de Hoja'!Rango Si está en una Hoja de otro Libro. Para ello.es/finan/[busquedas.com 16/21 .

Protect Password:="1234" End Sub La función =EXTRAE y la función =ENCONTRAR Si en B6 pones el nombre de una persona. al ser el fraccionamiento mensual el término obtenido es la mensualidad.B6. 0).1)&EXTRAE(B6.B6)+1.Delete End If Wend End Sub Creación de una Fórmula personalizada Cálculo del término amortizativo de un préstamo tipo francés (de pagos constantes).Value <> "Cadiz" Then ActiveCell. Sub Auto_Close() Application.Select Else Selection.(1 + im) ^ (-Años * fraccionamiento)) End Function Pongamos un ejemplo para un principal de 100.Protect Password:="1234" Sheets("Hoja1").com 17/21 .DisplayHorizontalScrollBar = False . tipo_nominal!.000 €.61 nº 62 63 TRUCO End Sub Activar un libro ya abierto: Sub ACtivarLibro() Workbooks("Ejemplo. Function Termino(Principal@.+ENCONTRAR(" ".Range("A1").excelavanzado.Value <> "" If ActiveCell. con fraccionamiento mensual.xls").DisplayVerticalScrollBar = False End With End Sub Macro que protege el libro y la hoja Sub Blindaje() ActiveWorkbook.EntireRow. En este caso. Años As Byte.Activate End Sub Crear un libro nuevo: Sub NuevoLibro() Workbooks. 10 años.B6)+1)+1.Offset(1.Add End Sub Borrar un registro de una tabla que contenga un dato concreto Sub BorrarFilas() While ActiveCell.ENCONTRAR(" ". tipo nominal anual del 6%.Quit End Sub Macro que elimina las barras de desplazamiento Sub Desbarra() With ActiveWindow . fraccionamiento As Byte) Dim im! 'Tipo efectivo del subperiodo im = tipo_nominal / fraccionamiento / 100 Termino = Principal * im / (1 . =IZQUIERDA(B6. por ejemplo: "Andrés Suarez Oliveira" la siguiente función obtiene las tres iniciales (ASO).1) La función =RESIDUO permite calcular la parte Fraccionario TIPO Macros Macros Macros 64 Macros 65 Macros 66 Macros 67 Función 68 Función www. Similar a la fórmula =PAGO pero en este caso usando tipo nominal y con fraccionamiento. Sub ejemplo() End Sub Macro que cierra Excel Se puede asociar a un botón o a un icono.ENCONTRAR(" ".1)&+EXTRAE(B6.

_ ReplaceFormat:=False Next Hoja End Sub En este caso reemplazamos por "".Replace What:=Palabra. pero no disponemos de FRAC que calcularia la parte fraccionaria.Count Sheets(Hoja).Value = 0 Then Celda. Replacement:="". CELDA("NOMBREARCHIVO". Para calcular la parte Fraccionaria deberíamos usar uno de estos dos métodos: =A1-ENTERO(A1) =RESIDUO(A1. Calculo del NIF Esta función calcula el NIF (Número de Identificación Fiscal) utilizado en España.Activate Cells. lo que supone borrar la palabra buscada. Las 4 líneas anteriores son una misma fórmula.ENCONTRAR("[". CELDA("NOMBREARCHIVO".A1))-1) Requiere grabar el fichero.excelavanzado.Row End If Next End Function Para poner el nombre del fichero en una celda =EXTRAE(CELDA("NOMBREARCHIVO". CELDA("NOMBREARCHIVO".68 nº TRUCO En Excel disponemos de =ENTERO que calcula la parte entera. Function DimeFila(Rango As Range. sin encabezado y sin que se repitan los elementos.com 18/21 .ENCONTRAR("]".CELDA("nombrearchivo"))+1.1) Macro que borra los ceros de un rango Sub BorrarCeros() For Each Celda In Range("C11:G24") If Celda.ClearContents Next End Sub Si sólo se quieren ocultar los ceros se ha de poner formato de celda personalizado de #.A1).A1))+1.Value = Valor_a_buscar Then DimeFila = c. (dni Mod 23) + 1. Function nif(dni As Long) As String nif = Mid("TRWAGMYFPDXBNJZSQVHLCKE".A1)))-ENCONTRAR("[". MatchCase:=False. Para poner el nombre de la hoja en una celda =EXTRAE(CELDA("nombrearchivo").FormulaLocal End Function Si se quita la palabra 'Local' devuelve la fórmula en inglés.255) Requiere grabar el fichero. LookAt:=xlPart. Función que muestra la fórmula de una celda Devuelve la fórmula que contiene una celda en lenguaje local Function DisplayCellFormula(InputCell As Range) As String DisplayCellFormula = InputCell.+(ENCONTRAR("]". 1) End Function Función que calcula la fila que ocupa cierto valor en una tabla Está pensado para que la matriz se ponga comenzando en la celda A1. Determinación de si un número es primo o no es primo TIPO Función 69 Macros 70 Macros 71 Macros 72 Macros 73 Función 74 Función 75 Macros 76 www. SearchFormat:=False. _ SearchOrder:=xlByRows.### Macro que reemplaza una palabra por otra Sub RemplazarPalabra() Dim Palabra As String Dim Hoja As Long Palabra = Trim(InputBox("Introduzca la palabra a buscar: ")) For Hoja = 1 To Sheets. Valor_a_buscar) As Integer For Each c In Rango If c.

76 nº 77 TRUCO Sub primo() Dim primo As Boolean Dim n As Long Dim d As Long n = Val(InputBox("Introduce un número natural". todo lo que tendremos que hacer es pinchar este botón para activar / desactivar la función IMPORTARDATOSDINAMICOS. aproximadamente el octavo empezando por el final). Esto se debe a que desde Office XP la función IMPORTARDATOSDINAMICOS se activa por defecto cuando nos referimos a celdas que forman parte de una tabla dinámica.com 19/21 . Personalizar. Pero podemos desactivarla. y nosotros preferiríamos que esto funcionara como antes. Ahora selecciona la Categoría "Datos" y en la ventana derecha (Comandos) busca el botón "General Get Pivot Data" (está cerca del final. Factorial Function facto(n) Dim i As Integer facto = 1 i=0 Do i=i+1 facto = facto * i Loop While i <> n End Function Inicializar una matriz Se inicializa con ERASE 'En este caso se ponen todos los valores a Empty Sub test() Dim c(1 To 20. j) = RND TIPO Macros Tablas Dinámicas 78 Macros 79 Macros www. Para llevar este botón hasta una barra de herramientas sigue estos pasos.excelavanzado. Lleva este botón a la barra de herramientas de Excel que prefieras (esto se hace arrastrando el icono y soltándolo en alguna de las barras de herramientas). llamado "General GetPivotData". "Entrada de Datos")) d=2 primo = True Do While primo And d < n If n Mod d = 0 Then primo = False End If d=d+1 Loop If primo Then MsgBox (n & " es primo") Else MsgBox (n & " no es primo") End If End Sub Activar o Desactivar el empleo de la función IMPORTARDATOSDINAMICOS Al intentar operar con formulas que hacen referencia a celdas que provienen de una tabla dinámica con la versión XP de Excel nos encontramos con que automáticamente nos pone la función: IMPORTARDATOSDINAMICOS. Para ello primero tendremos que llevar hasta alguna de las barras de herramientas un "botón". Selecciona: Ver. que viene activada por defecto. Barra de Herramientas. 1 To 10) As Variant For i = 1 To 20 For j = 1 To 10 c(i. Ahora. Ve a la pestaña "Comandos".

.ScreenUpdating = False y al final Application. 1) End Sub Evitar los movimientos de pantalla mientras se ejecuta una macro Para evitar que durante la ejecución de una macro se vean todos los movimientos y cambios del cursor.Offset(1.1) Erase c MsgBox c(1.Cells(i.Select End Sub La segunda macro requiere posicionar inicialmente el cursor en la primera celda llena.excelavanzado."-". Un ejemplo: Dim R As Range Dim filas As Long Set R = Range("A1").nº 80 81 82 TRUCO Next j Next i MsgBox c(1.Value <> "" Worksheets("Hoja1").Cells(i. La siguiente macro posiciona el cursor en la última celda llena de la columna A de la Hoja1. para evitar las "chirivitas" que se ven al ejecutar una macro: Al principio de la macro escribe Application.Wend Esta estructura permite ejecutar las instrucciones contenidas mientras la condición sea verdadera..Value <> "" ActiveCell.Value MsgBox c(1."")) Esta fórmula cuenta cuantos guiones (-) existen en un texto que esta en la celda F3. Contar cuantas veces se repite un mismo caracter en un texto =+LARGO(F3)-LARGO(SUSTITUIR(F3. 1). Manejo de Rangos Para señalar una tabla se hace con CurrentRegion.Rows. Sub test1() Dim c As Variant c = ActiveSheet.Offset(-1.Count TIPO Macros Macros Función Macros 83 Función 84 Macros www. las dimensiones y recuperandose 'la memoria usada.Select i=i+1 Wend End Sub Otra variante: Sub final2() While ActiveCell. 1). Sub final1() i=1 While Worksheets("Hoja1").Select Wend ActiveCell. 1) Erase c 'Esto dara error ya que no hay ninguna matriz MsgBox c(1. While.1) End Sub 'En este caso se pone la variable c a su estado inicial 'Borrandose los valores.CurrentRegion filas = R.ScreenUpdating = True Formula referida siempre a un mismo rango =SUMA(INDIRECTO("A1:B2")) Esta expresión permite sumar siempre el rango indicado aunque dicho rango se mueva a otra zona de la hoja.com 20/21 . 0).Range("A1:J20"). 0).

. Sub oculta() Sheets("Hoja2").. pero no sabemos en que fila comienza.Sheets("Hoja2"). Sheets("Hoja2"). y al finalizar la vuelve a ocultar.. Supongamos el rango B5:B100. Ejecutando la macro la variable n tomará el valor 5.Select n = Selection. que es la fila de comienzo del rango. la Hoja2 esta inicialmente oculta.com TIPO Macros 86 Macros www.nº 85 TRUCO Ocultar Hojas Podemos ocultar o mostrar Hojas de un libro. y para poder trabajar con ella la macro la mustra. En el ejemplo siguiente.Row www.Activate '.End(xlUp).Visible = False End Sub Determinar la fila hasta la que llega un rango Podemos determinar facilmente la fila hasta la que llega un rango.excelavanzado.excelavanzado. del que sabemos en que fila acaba (la 100). .Visible = True ActiveWorkbook..com 21/21 . Dim n As Long Range("B100").

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->