Preguntas y Rtas Excel

39
TRUCOS Y PREGUNTAS DE EXCEL Y WORD Preestablecer la configuración del menú y opciones de Excel..................3 Buscar y contar en una tabla Excel empleando más de un criterio..............3 Bloquear macros..............................................................4 Excel en la web..............................................................4 Convertir a valores .........................................................4 Quitar hipervínculos.........................................................4 Indicadores en gráficos......................................................5 Copiar formatos de hojas.....................................................5 Eliminar vínculos............................................................5 Mayúsculas automáticas ......................................................6 Promedio ponderado...........................................................6 Limitar el movimiento de cursor..............................................7 Quitar hipervínculos.........................................................7 Excel en la web..............................................................7 Convertir a valores .........................................................8 Eliminar macros..............................................................8 Errores en fechas ...........................................................8 Envío de planillas por correo electrónico ...................................9 Libros vinculados en Excel 97 con contraseña de apertura ....................9 La edad exacta en Access ...................................................10 Suma instantánea ...........................................................10 Acelerar macros.............................................................11 Suma de horas...............................................................11 Protección contra escritura en Excel........................................11 Céntimos exactos............................................................11 Búsqueda en tablas..........................................................12 Nombre del usuario en Excel.................................................12 Señalar repetidos...........................................................13 Días hábiles................................................................13 Validar contenido de una celda en Excel.....................................14 Configuración de la puntuación..............................................14 Céntimos en letras..........................................................14 Código de barras............................................................15 Captura de datos en Excel...................................................15 Diferencias entre tiempos...................................................16 Proteger macros.............................................................16 Compartir libros en Excel...................................................17 Libros de Excel corruptos...................................................17 Convirtiendo números a letras en Excel......................................17 Borrado automático de datos y copia a otra hoja.............................18 Funciones personalizadas en Excel...........................................19 Transponer celdas...........................................................19 Excel y HTML................................................................20 Formato de horas en Excel...................................................20 Lentitud al cerrar los libros en Excel......................................20 Insertar automáticamente saltos de página al cambiar el valor en una columna de datos.......................................................................21 Quitar contraseñas Excel y problemas al Guardar.............................21 Ocultar una fila en una macro de Excel......................................22 Problema con la función BUSCARV.............................................22 Macro para ingresar datos automáticamente...................................22 1

Transcript of Preguntas y Rtas Excel

TRUCOS Y PREGUNTAS DE EXCEL Y WORDPreestablecer la configuración del menú y opciones de Excel.......................................................................................3Buscar y contar en una tabla Excel empleando más de un criterio.................................................................................3Bloquear macros.............................................................................................................................................................4Excel en la web...............................................................................................................................................................4Convertir a valores .........................................................................................................................................................4Quitar hipervínculos........................................................................................................................................................4Indicadores en gráficos...................................................................................................................................................5Copiar formatos de hojas................................................................................................................................................5Eliminar vínculos............................................................................................................................................................5Mayúsculas automáticas ................................................................................................................................................6Promedio ponderado.......................................................................................................................................................6Limitar el movimiento de cursor.....................................................................................................................................7Quitar hipervínculos........................................................................................................................................................7Excel en la web...............................................................................................................................................................7Convertir a valores .........................................................................................................................................................8Eliminar macros..............................................................................................................................................................8Errores en fechas ............................................................................................................................................................8Envío de planillas por correo electrónico .......................................................................................................................9Libros vinculados en Excel 97 con contraseña de apertura ...........................................................................................9La edad exacta en Access .............................................................................................................................................10Suma instantánea ..........................................................................................................................................................10Acelerar macros............................................................................................................................................................11Suma de horas...............................................................................................................................................................11Protección contra escritura en Excel.............................................................................................................................11Céntimos exactos..........................................................................................................................................................11Búsqueda en tablas........................................................................................................................................................12Nombre del usuario en Excel........................................................................................................................................12Señalar repetidos...........................................................................................................................................................13Días hábiles...................................................................................................................................................................13Validar contenido de una celda en Excel......................................................................................................................14Configuración de la puntuación....................................................................................................................................14Céntimos en letras.........................................................................................................................................................14Código de barras...........................................................................................................................................................15Captura de datos en Excel.............................................................................................................................................15Diferencias entre tiempos..............................................................................................................................................16Proteger macros.............................................................................................................................................................16Compartir libros en Excel.............................................................................................................................................17Libros de Excel corruptos.............................................................................................................................................17Convirtiendo números a letras en Excel........................................................................................................................17Borrado automático de datos y copia a otra hoja..........................................................................................................18Funciones personalizadas en Excel...............................................................................................................................19Transponer celdas.........................................................................................................................................................19Excel y HTML..............................................................................................................................................................20Formato de horas en Excel............................................................................................................................................20Lentitud al cerrar los libros en Excel............................................................................................................................20Insertar automáticamente saltos de página al cambiar el valor en una columna de datos............................................21Quitar contraseñas Excel y problemas al Guardar........................................................................................................21Ocultar una fila en una macro de Excel........................................................................................................................22Problema con la función BUSCARV............................................................................................................................22Macro para ingresar datos automáticamente.................................................................................................................22Extender el uso de una macro a todas las hojas............................................................................................................23Error al entrar en Excel 2000........................................................................................................................................23Análisis de frecuencias sobre texto en Excel................................................................................................................24Aumentar en 1 el valor de una celda al abrir un libro de Excel....................................................................................24Conversión de números a euros en Excel.....................................................................................................................25Operación en todas las celdas de Excel ........................................................................................................................25Protección de Hojas......................................................................................................................................................25Inclusión de texto en cálculos ......................................................................................................................................26Problemas con las notas................................................................................................................................................26¿Cómo puedo hacer que se busque un valor en una tabla de datos?.............................................................................27Macros de Excel en diferentes idiomas.........................................................................................................................27

1

TRUCOS Y PREGUNTAS DE EXCEL Y WORDSeparación de cadenas..................................................................................................................................................28Combinación de celdas.................................................................................................................................................28Arrancar con una hoja...................................................................................................................................................28Problema con idioma de macros en EXCEL 5.0 ..........................................................................................................29Macros en Office 97......................................................................................................................................................29Word..............................................................................................................................................................................29Pegar planillas en Word ...............................................................................................................................................29Selección múltiple de texto en Word............................................................................................................................30Incrustar fuentes en Word ............................................................................................................................................30Ubicación de plantillas de Microsoft Word .................................................................................................................30Selección de texto en vertical en Word.........................................................................................................................31Sangrar un párrafo con la tecla Tab..............................................................................................................................31Problemas con Word 97 ...............................................................................................................................................32La función =SI( )...........................................................................................................¡Error! Marcador no definido.Ejemplo de factura........................................................................................................¡Error! Marcador no definido.

2

TRUCOS Y PREGUNTAS DE EXCEL Y WORD

Preestablecer la configuración del menú y opciones de Excel.

¿Se pueden proteger las posibilidades de visualización de una hoja, de acuerdo a ciertas limitaciones? Por ejemplo sin encabezados de fila, columna, barras de desplazamiento, barra de fórmulas, etc. ¿También podría aplicarse a cualquier barra de herramientas, e incluso a los menús de comandos de la parte superior?

Puede utilizar la herramienta System Policy Editor (Editor de Directivas del Sistema), incluida en el Kit de Recursos de Office XP que puede descargar en www.microsoft.com/office/ork/xp/appndx/appa14.htm. Esta herramienta le ayudará, entre otras cosas, a preestablecer opciones y activar o desactivar comandos del menú y botones de las barras de herramientas. Una vez instalado el editor de directivas del sistema, puede ejecutarlo mediante el menú Inicio·Programas·Microsoft Office Tools·Microsoft Office XP Resource Kit Tools·System Policy Editor. Una vez en el editor, si desea definir las directivas para un usuario local u ordenador local, seleccione en el menú File·Open Registry y realice un doble clic sobre Local computer o User computer, según corresponda. Seguidamente y según lo que usted plantea en la pregunta, abra las ramas correspondientes a Microsoft Excel y configure las opciones necesarias bajo las ramas Tools | Options y Disable items in user interface (véase imagen adjunta). Una vez definidas las directivas ejecute en el menú File·Save, File·Close y cierre el editor. Para aquellos ordenadores miembros de un dominio, si no desea establecer localmente estas directivas, también puede emplear el System Policy Editor de la manera siguiente: 1. Cree un nuevo archivo (File·New Policy). 2. Establezca las directivas en el ordenador, usuario o grupo de usuarios que usted decida. Para ello tendrá que hacer doble clic en el objeto de su interés, por ejemplo en Default User. 3. Una vez definido el archivo conteniendo las directivas, guárdelo en la carpeta NetLogon con el nombre de CONFIG.POL o NTCONFIG.POL, según sea para utilizarlo con Windows 98 o Windows 2000 respectivamente. Cuando el usuario se conecte a la red, Windows consultará el archivo de políticas almacenado en el recurso compartido NetLogon y usted habrá conseguido su propósito. Rodolfo de Benito

Buscar y contar en una tabla Excel empleando más de un criterio.

¿Cómo puedo buscar en una tabla información y contar cuantas veces está de acuerdo a dos o más criterios de búsqueda?

Para contar aquellos registros de una tabla Excel que obedecen a más de un criterio, puede emplear la función BDCONTARA; veámoslos con un ejemplo. Suponga una lista de datos con tres columnas: Código Médico, Especialidad y Población. Se pretende contar el número de médicos de una especialidad y población concreta, por ejemplo, Pediatría y Sevilla. Para ello es necesario escribir en la hoja de cálculo el nombre de ambos campos, Especialidad y Población (igual que aparecen en la lista de datos) en celdas consecutivas y, bajo éstas, teclear Pediatría y Sevilla respectivamente (véase imagen adjunta). Ahora sólo queda introducir la función en la celda dónde se desee obtener el resultado de esta cuenta; la función sería ésta: =BDCONTARA(A1:C12;;E3:F4); la cual tiene tres argumentos: - Base de datos. Se refiere al rango de celdas que comprende los registros de la tabla o lista incluyendo sus nombres de campo (en la primera fila de la misma). En el caso del ejemplo es A1:C12. - Nombre de campo. Este segundo argumento es opcional y representa el nombre del campo que se pretende contar. En este ejemplo prescindiremos de él, razón por la cual en los argumentos de la función aparecen dos puntos y coma seguidos. - Criterios. Indica el rango que contiene el nombre de los campos (en la primera fila) y sus criterios correspondientes (en filas sucesivas). En el ejemplo es E3:F4. Si lo que necesita es localizar un registro, sólo uno, que cumpla más de un criterio, puede emplear la función BDEXTRAER. Por ejemplo y basándonos en el supuesto anterior, =BDEXTRAER(A1:C12;"Código Médico";E3:F4) localiza el código de médico correspondiente a la especialidad Pediatría y la población Sevilla. Como puede ver, el segundo argumento corresponde al nombre del campo que pretende localizarse y los otros dos argumentos son idénticos a los de la función BDCONTARA explicada anteriormente. Rodolfo de Benito

3

TRUCOS Y PREGUNTAS DE EXCEL Y WORDBloquear macros.

Tengo un sistema en Excel formado por una macro principal que llama, a su vez, a otras macros. Querría, de alguna forma, bloquear u ocultar esas otras macros, para que el usuario solamente pueda ejecutar el sistema desde la macro principal

En principio, el usuario de una planilla puede ejecutar cualquier macro que ésta contenga tomando las opciones HerramientasoMacrooMacros. Esto muestra una ventana con la lista de macros disponibles. Es posible ocultar algunas macros para que estas no aparezcan en la ventana anterior. Para esto, se debe modificar su código anteponiendo la cláusula Private en la definición de la macro. Por ejemplo: Private Sub Imprimir() ... ... End Sub Esto le da a la macro el carácter "privado" y no aparecerá en la lista de macros de la planilla. Solamente podrá ser ejecutada cuando es llamada desde otra macro. Claudio H. Sánchez

Navegar con el teclado en libros multihoja.

Soy de las que prefieren usar el teclado antes que el ratón. He aprendido a seleccionar un rango manteniendo apretada la tecla Mayúsculas y a llamar al menú de formato de las celdas con la combinación de la tecla Control y el número 1. ¿Hay alguna tecla o

Oprimiendo la combinación de teclas Control+Av Pág se pasa a la siguiente hoja. La combinación Control+Re Pág pasa a la hoja anterior. Otras dos combinaciones útiles son Alt+Av Pág y Alt+Re Pág que desplazan el cursor una pantalla (aproximadamente ocho c

Excel en la web.

¿Pueden recomendarme alguna página web donde pueda obtener información sobre Visual Basic y programación de macros en Excel?

Por supuesto, existen en internet muchas páginas dedicadas a Excel, en todos los niveles. De todas ellas, recomendamos The Spreadsheet Page (www.j-walk.com/ss). Podemos decir que esta página es el portal de Excel en internet. Contiene trucos, ejemplos, re

Convertir a valores .

He creado una planilla donde se calculan diariamente los rendimientos de ciertas inversiones de bolsa. Al comenzar el día, antes de actualizar las cotizaciones, necesito fijar los resultados del día anterior para que no se recalculen. ¿Cuál es la forma má

Existe en Excel la opción de "pegar valores" que copia en una celda el resultado de una fórmula, y no la fórmula propiamente dicha. Por ejemplo, supongamos que en la celda A10 tenemos la fórmula =SUMA(A1:A9). Si queremos guardar el resultado de esta suma

Quitar hipervínculos.

Tengo una base de datos que incluye direcciones de correo electrónico. Cada vez que escribo una dirección, Excel la convierte en un hipervínculo, lo que no quiero que suceda. ¿Puede evitarse la conversión?

En principio, Excel convierte en un hipervínculo a dirección de correo electrónico cualquier dato que incluya el símbolo @. En Excel XP la conversión automática puede evitarse siguiendo estos pasos: 1. Tomamos las opciones Herramientas·Opciones de Autocor

Macros autoejecutables.

4

TRUCOS Y PREGUNTAS DE EXCEL Y WORD¿Cómo puedo hacer que una macro se ejecute automáticamente al abrir una planilla?

Para que una macro se ejecute en forma automática al abrir la planilla que la contiene basta que su nombre sea Auto_open. De la misma manera, una macro con el nombre Auto_close se ejecutará automáticamente al cerrar la planilla que la contiene. Claudio H. Sánchez

Indicadores en gráficos.

¿Cómo puedo señalar un valor en un gráfico, destacándolo de los demás?

En principio, en un gráfico pueden insertarse objetos (por ejemplo, autoformas) a modo de indicadores que señalen cualquier punto del mismo. Pero esto implica un riesgo: si cambia la escala o el tamaño del gráfico, el indicador quedará descolocado. Una mejor opción consiste en usar como indicador los rótulo de datos: 1. Seleccionamos el gráfico. 2. Tomamos las opciones GráficooOpciones de gráfico. 3. Seleccionamos la ficha Rótulos de gráfico. 4. Marcamos la opción Valor. 5. Hacemos un clic en Aceptar. Ahora eliminamos todos los rótulos, excepto el correspondiente al punto que se quiera señalar: 6. Hacemos un clic sobre uno de los rótulos a eliminar. Aparecerán puntos de agarre en todos los rótulos. 7. Hacemos un segundo clic sobre el mismo punto. Los puntos de agarre aparecerán solamente en el rótulo actual. 8. Oprimimos la tecla Suprimir. Esto elimina un rótulo del gráfico. Repetimos el procedimiento con todos los rótulos hasta dejar solamente el que se quiera señalar. Este rótulo restante puede modificarse seleccionándolo con tres clics separados (no triple clic). Entonces podremos escribir cualquier texto dentro del rótulo. Este rótulo modificado será móvil, en el sentido de que acompañará al punto si cambian la escala o los valores del gráfico. Claudio H. Sánchez

Copiar formatos de hojas.

Tengo un archivo de varias hojas. Al comenzar el mes, debo crear una mueva hoja, con los mismos formatos que la hoja anterior. Aplicar los formatos uno por uno es muy tedioso y, si copio el rango a la nueva hoja, no se copian los anchos de columna ni las alturas de fila. ¿Hay alguna forma de aplicar rápidamente todos los formatos?

Hasta la versión 2000, cuando se copia un rango de una hoja Excel en otro sitio (dentro de la misma u otra hoja) el rango duplicado adquiere todos los formatos del original (tipografía, estilos numéricos, color, bordes, etc.) excepto los anchos de columna y las alturas de fila. Su problema puede resolverse si se copia la totalidad de la hoja: 1. Tomamos las opciones EdiciónoMover o copiar hoja. Aparece un cuadro con opciones de copiado. 2. Marcamos la opción Crear una copia. 3. Hacemos un clic en Aceptar. La nueva hoja será idéntica a la original tanto en contenido como en formato. El contenido puede entonces borrarse para escribir los nuevos datos. El problema del copiado de formatos está parcialmente contemplado en Excel XP. Cuando se pega un rango en otro sitio, aparece un botón con opciones de pegado. Una de esas opciones es Mantener ancho de columnas de origen. No existe, en cambio una opción equivalente para las alturas de fila. Claudio H. Sánchez

Eliminar vínculos.

Cada vez que abro cierta planilla muy compleja Excel me advierte que hay vínculos. Aunque creo haber eliminado todos los vínculos, el mensaje de advertencia continúa apareciendo. Puedo ignorar el mensaje, pero es muy molesto. ¿Hay alguna forma de eliminar esos vínculos?

Este es uno de los problemas más irritantes que se les presenta a los usuarios avanzados de Excel: los "vínculos fantasmas". En general, un vínculo es una referencia, dentro de una fórmula, a una celda de otra planilla. Por ejemplo, la fórmula ='C:\Mis documentos\[Gastos.xls]Hoja1'!A2 toma el valor de la celda A2, de la Hoja1, de una planilla llamada Gastos que se encuentra en la carpeta Mis documentos. Cada vez que se abra la planilla actual Excel anunciará la existencia del vínculo y preguntará si se quieren actualizar o no los valores. Sin

5

TRUCOS Y PREGUNTAS DE EXCEL Y WORDembargo, y tal como dice el lector, puede haber vínculos de otro tipo tales como nombres de rango o gráficos que tomen datos de otras planillas. Estos vínculos son más difícil de descubrir, como no sea buscándolos uno por uno. Si estamos seguros de que los vínculos ya no son necesarios, podemos eliminarlos: 1. Tomamos las opciones Edición·Vínculos. Aparece un cuadro con la lista de vínculos. 2. Hacemos un clic sobre el vínculo a eliminar. 3. Hacemos un clic en el botón Romper vínculo. La opción Romper vínculo es una novedad de Excel XP. En versiones anteriores podemos usar el botón Cambiar origen para vincular la planilla consigo misma. Claudio H. Sánchez

Mayúsculas automáticas .

He creado una planilla en la que escribo nombres y otros datos tipo texto. Quiero que los datos queden escritos en letras mayúsculas independientemente de cómo hayan sido escritos. ¿Es posible?

No existen en Excel comandos equivalentes a Formato·Cambiar mayúsculas y minúsculas de Word. Es posible realizar una conversión en forma más bien rudimentaria combinando diversas opciones como la función MAYUSC y el comando Pegado especial. Otra posibilidad es crear dos macros: Sub enter() Application.OnKey "{Enter}", "May" Application.OnKey "{Return}", "May" End Sub Sub May() dato = ActiveCell.Value If VarType(dato) = 8 Then ActiveCell.Value = UCase(dato) End If ActiveCell.Offset(1, 0).Select End Sub La segunda de estas macros convierte a mayúsculas el contenido de la celda actual. Usamos para esto la función UCase (del inglés, upper case, mayúsculas) equivalente a MAYUSC. La conversión se hace solamente si el contenido de la celda actual es de tipo texto. Para controlar esta condición usamos la función VarType que devuelve el valor 8 si el argumento es un texto. Por su parte, la primera macro asigna la macro May a las teclas Enter (la del teclado numérico) y Return (la del teclado convencional). Es decir que, cada vez que se oprima alguna de estas teclas para ingresar un dato, se ejecutará la macro May, convirtiendo el valor ingresado a mayúsculas, siempre que sea un texto. La asignación de una macro a una tecla se realiza con la instrucción Application.OnKey, seguida de dos argumentos: la tecla que recibe la asignación y la macro que se le asigna. Los nombres de las teclas pueden consultarse en la ayuda de Visual Basic indicando al asistente la palabra clave Onkey. Claudio H. Sánchez

Promedio ponderado.

¿Existe una función para calcular el promedio ponderado? He visto que puede hacerse con una macro. Pero debería haber un método más simple.

Supongamos que, despues de analizar una población, encontramos que hay dos familias sin hijos, siete con un hijo, quince con dos y ocho con tres. El promedio de hijos por familia se obtiene multiplicando dos por cero, siete por uno, quince por dos y ocho por tres. Se suman los cuatro productos y se divide el resultado por treinta y dos, que es la cantidad de familias censadas. Esto es lo que se llama promedio ponderado: se pondera cada valor (cada cantidad de hijos) teniendo en cuenta la respectiva cantidad de representantes (la cantidad de familias). Para hacer este cálculo en Excel supongamos que en el rango A1:A4 está la cantidad de familias (llamados, en este caso, coeficientes de ponderación) y en B1:B4 están los valores a promediar. El promedio ponderado se obtiene con =SUMAPRODUCTO(A1:A4;B1:B4)/SUMA(A1:A4) La función SUMAPRODUCTO multiplica el primer elemento del primer rango por el primer elemento del segundo; el segundo elemento del primer rango por el segundo elemento del segundo; el tercer elemento del primer rango por el tercer elemento del segundo rango y así sucesivamente. Luego suma todos los productos obtenidos. En la expresión anterior, la función SUMA calcula la cantidad de familias censadas. Claudio H. Sánchez

6

TRUCOS Y PREGUNTAS DE EXCEL Y WORDLimitar el movimiento de cursor.

Debo escribir datos en una tabla de diez filas y seis columnas. ¿Cómo puedo hacer para que, despues de escribir el último dato de una columna, el cursor pase automáticamente a la primera fila de la columna siguiente?

Este problema puede resolverse por una macro que mueva el cursor a la posición correcta, tras escribir cada dato. Una solución más simple consiste en seleccionar previamente el rango que ocuparán los datos. En estas condiciones, la tecla Enter produce el movimiento del cursor solamente dentro del área seleccionada, tal como pide la pregunta: de arriba hacia abajo y de izquierda a derecha. Esto vale mientras no se opriman las teclas de movimiento del cursor (las flechas), deseleccionando el rango de datos. Claudio H. Sánchez

Quitar hipervínculos.

Tengo una base de datos que incluye direcciones de correo electrónico. Cada vez que escribo una dirección, Excel la convierte en un hipervínculo, lo que no quiero que suceda. ¿Puede evitarse la conversión?

En principio, Excel convierte en un hipervínculo a dirección de correo electrónico cualquier dato que incluya el símbolo @. En Excel XP la conversión automática puede evitarse siguiendo estos pasos: 1. Tomamos las opciones Herramientas·Opciones de Autocorrección... 2. En la ficha Autoformato mientras escribe, desmarcamos la opción Rutas de red e Internet por hipervínculos. 3. Hacemos un clic en Aceptar. Esta opción no existe en las versiones de Excel anteriores a XP. Lo mejor que puede hacerse en esos casos es revertir la conversión inmediatamente después de producida: según se da entrada al dato, oprimimos la combinación Control+Z, equivalente a las opciones Edición·Deshacer. Claudio H. Sánchez

Navegar con el teclado en libros multihoja.

Soy de las que prefieren usar el teclado antes que el ratón. He aprendido a seleccionar un rango manteniendo apretada la tecla Mayúsculas y a llamar al menú de formato de las celdas con la combinación de la tecla Control y el número 1. ¿Hay alguna tecla o combinación de teclas para pasar de una hoja a otra en un libro de muchas hojas?

Oprimiendo la combinación de teclas Control+Av Pág se pasa a la siguiente hoja. La combinación Control+Re Pág pasa a la hoja anterior. Otras dos combinaciones útiles son Alt+Av Pág y Alt+Re Pág que desplazan el cursor una pantalla (aproximadamente ocho columnas) hacia la derecha y hacia la izquierda, respectivamente. Estas combinaciones cumplen la misma función que cumplía la tecla TAB en antiguas planillas de cálculo. Claudio H. Sánchez

Excel en la web.

¿Pueden recomendarme alguna página web donde pueda obtener información sobre Visual Basic y programación de macros en Excel?

Por supuesto, existen en internet muchas páginas dedicadas a Excel, en todos los niveles. De todas ellas, recomendamos The Spreadsheet Page (www.j-walk.com/ss). Podemos decir que esta página es el portal de Excel en internet. Contiene trucos, ejemplos, reseña de libros y una importante lista de vínculos a otras páginas afines. Claudio H. Sánchez

7

TRUCOS Y PREGUNTAS DE EXCEL Y WORDConvertir a valores .

He creado una planilla donde se calculan diariamente los rendimientos de ciertas inversiones de bolsa. Al comenzar el día, antes de actualizar las cotizaciones, necesito fijar los resultados del día anterior para que no se recalculen. ¿Cuál es la forma más simple de hacer esto?

Existe en Excel la opción de "pegar valores" que copia en una celda el resultado de una fórmula, y no la fórmula propiamente dicha. Por ejemplo, supongamos que en la celda A10 tenemos la fórmula =SUMA(A1:A9). Si queremos guardar el resultado de esta suma en la celda A11 procedemos de la siguiente manera: 1. Seleccionamos la celda A10, la que contiene el resultado que ha de copiarse. 2. Tomamos las opciones EdiciónoCopiar (o usamos cualquiera de sus atajos). 3. Seleccionamos la celda A11, donde queremos guardar el resultado. 4. Tomamos las opciones EdiciónoPegado especial. Aparece un cuadro con distintas opciones de pegado. 5. Marcamos la opción Valores. 6. Hacemos un clic en Aceptar. Si esto parece demasiado engorroso, tenemos otros caminos. Por ejemplo, en Excel XP, si en el cuarto paso de la secuencia anterior, hacemos un clic en el botón Pegar, a la derecha del resultado aparecerá un botón que descuelga una lista de opciones, una de las cuales es, justamente, Valores. Finalmente, si queremos guardar el resultado en la misma celda que contiene la fórmula, un procedimiento muy rápido consiste en oprimir, sucesivamente, las teclas F2 y F9. Claudio H. Sánchez

Eliminar macros.

Cada vez que abro cierta planilla Excel, el programa me pregunta si deseo habilitar o no las macros que contiene. Pero ya he eliminado todas las macros de la planilla. ¿Cómo logro que el mensaje de advertencia no vuelva a aparecer?

Cuando se abre una planilla que contiene macros, Excel muestra un mensaje de advertencia, ya que esas macros podrían ser un virus de macro. Este mensaje aparece aun cuando eliminemos las macros de la planilla con las opciones Herramientas·Macro·Macros·Eliminar, porque persistirá la hoja de módulo donde estaba escrito el código de las macros. Es necesario eliminar esta hoja:1.- Tomamos las opciones Herramientas·Macro·Editor de Visual Basic. Se abrirá el editor, que es un programa aparte.2.- Dentro del editor, tomamos las opciones Ver·Explorador de proyectos. Se abrirá una ventana con una estructura arbolar, similar a la del Explorador de Windows.3.- Dentro de esa estructura seleccionamos la hoja Módulo1 (o el nombre que corresponda).4.- Tomamos las opciones Archivo·Quitar Módulo1. El programa mostrará un mensaje invitando a exportar el módulo. 5.- Hacemos un clic en No.6.- Cerramos el editor.Ahora sí, hemos eliminado todo vestigio de las macros y no volverá a aparecer el mensaje de advertencia al que se refería el lector. Claudio H. Sánchez

Errores en fechas .

Uso en Excel una planilla creada originalmente en Quattro Pro. Cuando pretendo escribir una fecha (por ejemplo, 12/8/2002) Excel no la almacena correctamente, sino que devuelve el resultado de hacer 12 dividido por 8, dividido por 2002. Es decir, interpreta la expresión como una fórmula. ¿A qué se debe esto y cómo lo resuelvo?

Este problema se debe a que Excel respeta el estilo de trabajo original de la planilla: en Quattro Pro las expresiones con barras se interpretan como divisiones. Debemos decirle a Excel que siga sus propias convenciones, y no las traídas por la planilla desde su programa original:1.- Tomamos las opciones Herramientas·Opciones y seleccionamos la ficha Transición.2.- Desmarcamos la opción Introducción de fórmulas para transición. 3.- Hacemos un clic en Aceptar.En este contexto la palabra “transición” se refiere al proceso por el cual una planilla proveniente de otro programa pasa a ejecutarse en Excel. Claudio H. Sánchez

8

TRUCOS Y PREGUNTAS DE EXCEL Y WORDEnvío de planillas por correo electrónico .

¿Cómo debe ser una macro que envíe la planilla actual por correo electrónico? Intenté hacerla grabando la macro, pero la grabación se interrumpe cuando el programa de correo electrónico toma el control.

Hay muchas macros que no pueden crearse con las opciones Herramientas·Macro·Grabar nueva macro. Pero siempre puede escribirse el código adecuado directamente en el editor de Visual Basic incorporado a Excel. En el caso que le preocupa, una macro que envíe la planilla por correo electrónico, debe usar el procedimiento SendMail:Sub Correo () ActiveWorkbook.SendMail _ Recipients:= “[email protected]”, _ Subject:= “Lista de precios”End SubCuando se ejecuta esta macro, Excel agrega en la bandeja de salida del programa de correo un mensaje al destinatario indicado con la planilla actual como archivo adjunto. No es necesario que el programa de correo electrónico esté abierto. Los valores de Recipients (destinatario del envío) y Subject (asunto del mensaje) pueden ser asignados mediante variables. Para escribir esta macro:1.- Tomamos las opciones Herramientas·Macro·Editor de Visual Basic. Se abrirá el editor, que es un programa aparte.2.- Dentro del editor, tomamos las opciones Insertar·Módulo. Se abrirá una ventana de texto donde escribimos el código de la macro.3.- Cerramos el editor y volvemos a Excel.La macro así creada puede ejecutarse mediante el menú Herramientas·Macro, asignándole una combinación de teclas o mediante un botón insertado en la planilla. Claudio H. Sánchez

Libros vinculados en Excel 97 con contraseña de apertura .

He realizado un libro en Excel que tiene celdas con vínculos a otros libros de Excel. Cuando abro el libro me pregunta si deseo actualizar los vínculos. El problema radica en que los libros origen de los vínculos están protegidos por contraseña de apertura, con lo que si respondo afirmativamente, me va pidiendo las claves de apertura de los libros origen. Como cada libro origen es utilizado por una persona distinta, y el libro con los vínculos lo ha de usar otra persona, no me interesa que esta persona disponga de la lista de claves de cada uno de los libros origen. Mi pregunta es si de alguna forma pueden establecerse las claves una sola vez (por ejemplo a la hora de vincular) de la misma forma que cuando se vincula una tabla en Access de otra BD que tiene clave de apertura. También lo he intentado usando una macro de VBA en la apertura del libro que actualizase los vínculos usando el método ActiveWorkBook.UpdateLink, pero simplemente lanza la solicitud de actualizar y no permite pasar las claves de cada libro. No he encontrado ningún método con el que pueda pasar la clave de apertura del libro.

En principio no hay una solución directa para que al abrir un libro vinculado a otros protegidos con contraseña de apertura, no pida la contraseña correspondiente al actualizar los vínculos, si bien es cierto que Workbooks.Open Filename:="C:\libro.xls", password:="SuContraseña" abre directamente un libro protegido desde VBA. Veamos qué podemos hacer con esto en Excel 2002.En primer lugar, abra el libro que contiene los vínculos, seleccione en el menú Edición·Vínculos y pulse el botón Pregunta inicial. Seleccione la opción No mostrar la alerta ni actualizar los vínculos automáticos. Acepte y cierre el cuadro de diálogo Modificar vínculos.El paso siguiente es utilizar el Editor de Visual Basic para indicar a Excel que, al abrir el libro, acceda también a los vinculados y los cierre a continuación. De esta manera conseguimos que se actualicen los vínculos. Seleccione en el menú Herramientas·Macro·Editor de Visual Basic.En el editor haga doble clic sobre el objeto ThisWorkbook del panel proyecto. El evento que se dispara al abrir un libro es Workbook_Open(), el cual programaremos introduciendo estas líneas en el editor:Sub Workbook_Open() If Dir("C:\libro1.xls") <> "" Then Workbooks.Open Filename:="C:\libro1.xls", ReadOnly:=True, Password:="a" End If If Dir("C:\libro2.xls") <> "" Then Workbooks.Open Filename:="C:\libro2.xls", ReadOnly:=True, Password:="b" End If Workbooks("libro1.xls").Close SaveChanges:=False Workbooks("libro2.xls").Close SaveChanges:=FalseEnd SubObserve que antes de abrir cada libro vinculado, se verifica su existencia mediante la función DIR. Le recuerdo que esta función, utilizada como en el ejemplo, devuelve el nombre del archivo especificado entre paréntesis si lo encuentra. Si no, devuelve una cadena vacía.Guarde los cambios en el editor, ciérrelo y regrese al libro. Cierre también el libro y ábralo. Si Excel le indica que el libro contiene macros pulse el botón Habilitar macros. A

9

TRUCOS Y PREGUNTAS DE EXCEL Y WORDcontinuación se ejecutará automáticamente el código que ha escrito con anterioridad y se abrirán y cerrarán los libros vinculados.Por supuesto, es muy que recomendable que proteja el código de este libro para que el usuario no pueda ver las contraseñas de los vinculados. Desde el Editor de VB puede seleccionar Herramientas·Propiedades de VBA Project. En la solapa Protección, active la casilla Bloquear proyecto para visualización y establezca la contraseña que desee. Rodolfo de Benito

La edad exacta en Access .

En Excel existe la función SIFECHA para calcular la edad exacta en años cumplidos. Dado que esa función no existe en Access, ¿cómo puede realizarse ese cálculo?

Es posible crear funciones el editor de Visual Basic de Access para luego invocarlas en formularios e informes. Por ejemplo, la edad exacta en años cumplidos puede calcularse con la siguiente función:Function edad(x)Edad = Year(Date)-Year(x)If DateSerial(Year(Date), Month(x), Day(x)) > Date _ Then Edad = Edad - 1End FunctionSe ha supuesto que el argumento x es la fecha de nacimiento, que debe estar contenida en algún campo de la tabla. Esta función resta simplemente el año de nacimiento del año actual y luego resta una unidad si aún no se han cumplido los años correspondientes al año actual. La fecha actual se obtiene de la función especial Date, que devuelve la fecha del sistema. La fecha del cumpleaños se construye con DateSerial, que es la función equivalente a FECHA, de Excel. Year, Month, y Day extraen, de una fecha dada, el año, el mes y el día, respectivamente.Para crear la función Edad:1.- Dentro de Access, tomar las opciones Herramientas·Macro·Editor de Visual Basic.2.- Una vez abierto el editor, seleccionar Insertar·Módulo.3.- En la ventana de texto que se abre, escribir el código anterior.4.- Cerrar el editor y volver a Access.Para calcular y mostrar la edad con esta función, se puede crear un informe dentro del cual se inserta la expresión =Edad([Nacimiento]), donde Nacimiento es el nombre del campo que contiene la fecha de nacimiento. Claudio H. Sánchez

Suma instantánea .

En Excel para Mac se puede obtener el total de un conjunto cualquiera de valores escribiendo un signo más y luego seleccionando cada una de las celdas a sumar. ¿Existe un método similar en Excel para Windows?

El procedimiento equivalente involucra el botón Autosuma (la letra griega sigma, en la barra de herramientas Estándar):1.- Seleccione la celda donde se quiere colocar el total.2.- Haga un clic en el botón Autosuma.3.- Seleccione la primera celda o rango a sumar.4.- Manteniendo apretada la tecla Control, seleccione cada uno de los demás rangos o celdas.5.- Soltando Control, pulse la tecla Enter, para dar por ingresada la fórmula.Por otra parte, si se selecciona un conjunto cualquiera de celdas, el total aparece en la barra de estado, al pie de la planilla. Claudio H. Sánchez

Acelerar macros.

Quiero que, mientras una macro ejecuta operaciones sobre una hoja, la pantalla quede fija en otra, de modo que el usuario no vea lo que está pasando. En Lotus 1-2-3 y Quattro Pro se podía usar la instrucción {Windowsoff}. ¿Existe algo equivalente en Excel?

Mientras se está ejecutando una macro, la pantalla de Excel muestra los cambios que tienen lugar: el cursor salta de celda en celda, aparecen valores, desaparecen otros, etc. El lector quiere que esos cambios no se vean durante la ejecución. Puede hacerse incluyendo al comienzo del código de la macro la siguiente línea:Application.ScreenUpdating = FalseAl ejecutarse esta instrucción, los cambios que la macro produzca en la planilla tendrán lugar sin que sean reflejados en la pantalla. Para restablecer el refresco de pantalla (tal es su nombre técnico) se ejecuta la instrucción:Application.ScreenUpdating = True Claudio H. Sánchez

10

TRUCOS Y PREGUNTAS DE EXCEL Y WORDSuma de horas.

Tengo una columna con datos tipo hora que representan tiempos de entrenamiento. Si la suma de estos tiempos debe ser, por ejemplo, 40 horas, la celda donde hago este cálculo muestra solamente 16 horas. Es decir, las horas que exceden de días completos. ¿Cómo puedo hacer para obtener el valor total de horas?

Hagamos un pequeño ejercicio. En la celda A1 escribamos 15:00. En la celda A2, 18:00. En la celda A3 sumemos =A1+A2. El resultado no aparecerá como 33:00 (18 más 15) sino como 9:00. Ocurre que treinta y tres horas equivalen a un día completo y nueve horas. El formato normal para datos tipo hora solamente la fracción de tiempo menor a un día. Para ver el resultado en horas totales tenemos que crear un formato personalizado: 1.- Seleccionamos la celda donde vamos a aplicar el formato. 2.- Tomamos las opciones Formato • Celdas y seleccionamos la ficha Número. 3.- Dentro de Categoría seleccionamos Personalizada. 4.- Dentro de Tipo escribimos [h]:mm. 5.- Hacemos un clic en Aceptar. La letra h, entre corchetes, indica que el valor debe mostrarse en forma completa. Claudio H. Sánchez

Protección contra escritura en Excel.

Tengo una planilla en red que es consultada por distintos usuarios. Quiero que todos ellos tengan acceso a la planilla pero que no puedan sobrescribir la planilla original. ¿Es posible?

Es posible grabar una planilla Excel como “sólo lectura”. De esta forma quienes la abran podrán consultar y modificar sus datos pero no podrán grabar la planilla modificada sobre la original: Tomamos las opciones Archivo • Guardar como. Aparece el cuadro habitual donde indicamos nombre, disco y carpeta donde se grabará la planilla. En Excel 2000, hacemos un clic en el botón Herramientas y seleccionamos la opción Opciones generales. En Excel 97, hacemos un clic en el botón Opciones. En cualquier caso aparecerá un cuadro con distintas opciones de protección con contraseña. 1.- Escribimos una palabra clave en Contraseña contra escritura pero dejamos en blanco Contraseña de protección.. 2.- Hacemos un clic en Aceptar. 3.- Excel pedirá que confirmemos la contraseña. La escribimos nuevamente. 4.- Hacemos un clic en Aceptar. 5.- Hacemos un clic en Guardar. En adelante, cada usuario que quiera abrir la planilla deberá indicar la palabra clave. Si no lo hace, podrá abrir la planilla pero como “sólo lectura”. Podrá consultarla y modificar sus datos pero no sobrescribir la planilla original. Claudio H. Sánchez

Céntimos exactos.

Calculo importes que luego redondeo a dos decimales. Cuando sumo varios de estos importes, la cifra de los céntimos puede presentar pequeñas diferencias. No son importantes pero hacen que la planilla quede desprolija ¿Puede resolverse esto?

Si convertimos 1.500 pesetas a euros (dividiendo por 166,386) el resultado es 9,0152. Aplicando formato de dos decimales, quedan 9,02 euros. Si sumamos dos de estas cifras el resultado es 18,0304. Luego de aplicar formato de dos decimales quedan 18,03 euros cuando debería ser 18,04 (9,02 más 9,02). Ésta es la diferencia a la que se refiere la pregunta. El problema se debe a que, al aplicar formato de dos decimales, Excel conserva las cifras más allá de los céntimos, aunque no las muestre. Estas cifras se acumulan en la suma hasta hacerse significativas. La solución consiste en usar la función REDONDEAR. Esta función suprime los decimales más allá de la cantidad indicada, que ya no serán tomados en cuenta para las futuras operaciones. Si suponemos que tenemos un valor en pesetas en A1, la conversión a euros y céntimos puede hacerse con la fórmula =REDONDEAR(A1/166,386;2). El último argumento indica que se desea redondear a dos decimales. En el caso especial de la conversión a euros, también puede usarse la nueva función EUROCONVERT. Otra vez, para un valor en pesetas en A1, su equivalente en euros y céntimos se obtiene con =EUROCONVERT(A1; “ESP”; “EUR”;0). Claudio H. Sánchez

11

TRUCOS Y PREGUNTAS DE EXCEL Y WORDBúsqueda en tablas.

Tengo una lista de artículos con sus precios. Quiero escribir un artículo cualquiera de la lista en una celda y obtener el precio correspondiente.

Este problema puede resolverse con la función de búsqueda en tablas, BUSCARV. Supongamos que la tabla que vincula cada artículo con su precio está en el rango A1:B10, los artículos en la columna A y sus precios en la B. Si tenemos un artículo cualquiera en C1, su precio se obtiene con la función =BUSCARV(C1;A1:B10;2;FALSO). Esta función lleva cuatro argumentos entre los paréntesis: El primero es el valor de entrada, el artículo que buscamos en la tabla para obtener su precio. El segundo es la tabla. Debe incluir todas sus filas y columnas, excepto la fila de títulos, si la hubiera. El tercero indica en qué columna de la tabla está el dato que nos interesa. En el ejemplo, el 2 indica que los precios están en la segunda columna. El cuarto es el valor lógico FALSO y se debe poner cuando la tabla no está ordenada. La V de BUSCARV viene de vertical porque la tabla está organizada en columnas. Existe también una función BUSCARH para tablas organizadas horizontalmente, por filas. Claudio H. Sánchez

De MAYÚSCULAS a minúsculas.

Tengo Excel 2000 y me han dicho que puedo convertir las palabras mayúsculas a minúsculas al igual que en Word. ¿Saben cómo?

No existe tal comando, al menos con la versatilidad y rapidez que ofrece Word. Sí puede hacerse la conversión en forma indirecta, aunque bastante engorrosa. Supongamos que tenemos una palabra escrita en mayúsculas en la celda A1: 1. En una celda auxiliar escribimos la función =MINUSC(A1). 2. Conservando seleccionada esa celda tomamos las opciones Edición • Copiar. 3. Seleccionamos la celda A1. Es decir, la que contiene la palabra original. 4. Tomamos las opciones Edición • Pegado especial. Aparece un cuadro con varias opciones de pegado. 5. Marcamos la opción Valores. 6. Hacemos un clic en Aceptar. La opción marcada en Pegado especial pega en la celda seleccionada el resultado de la fórmula contenida en la celda original. Tal vez una próxima versión de Excel permita el cambio con una opción simple. Claudio H. Sánchez

Nombre del usuario en Excel.

Existe alguna función en Excel que permita conocer el nombre del usuario? Si tal cosa no es posible, ¿se puede escribir un macro que cumpla tal tarea?

Existen dos funciones de Excel que brindan información acerca de una planilla: CELDA e INFO. Pero ninguna de las dos admite un parámetro para conocer el nombre del usuario que está usando la planilla en un momento dado. Una función así sería muy útil para llevar un registro de quiénes consultan una planilla en un entorno de red. Podemos, sin embargo, crear esta función. Su código es el siguiente: Function Usuario() Usuario = Application.UserName End Function Esta función la creamos en el editor de Visual Basic incluido en Excel:1. Tomamos las opciones Herramientas•Macro•Editor de Visual Basic. Se abre el editor, que es un programa aparte.2. Dentro del editor tomamos las opciones Insertar•Módulo. Se abre una ventana de texto en el editor.3. Dentro de esta ventana escribimos el código de la función.4. Cerramos el editor y volvemos a Excel.Ahora, en una celda cualquiera, escribimos =USUARIO(). La celda mostrará, en cada momento, el nombre de quien está usando la planilla. La nueva función estará disponible solamente en la planilla donde la creamos. Claudio H. Sánchez

Señalar repetidos.

Tengo una columna en la que escribo datos numéricos. Quiero que la planilla señale de alguna manera cuando agrego un número ya ingresado.

12

TRUCOS Y PREGUNTAS DE EXCEL Y WORDSupongamos que la lista de números esté en la columna A, a partir de A1. En B2, es decir a la derecha del segundo valor de la lista (que es el primero que puede estar repetido) escribimos la fórmula: =CONTAR.SI(A$1:A1;A2) Esta fórmula cuenta las veces que el valor de A2 (el de la fila actual) se encuentra en el rango ocupado por los valores anteriores. Normalmente, la fórmula debe devolver el valor cero (el número no se encuentra). Si el número ingresado en la fila actual ya está presente en la lista, la fórmula mostrará un uno. El rango donde se buscan los datos anteriores está identificado por sus dos extremos, pero el primero ha sido fijado con un signo $. Esto hace que, al extender la fórmula hacia abajo, para todos los valores, el rango de búsqueda siempre comienza en A1 y termina en la fila inmediata anterior al último dato escrito. Podemos perfeccionar este sistema con un formato condicional para que el valor repetido aparezca señalado en rojo: 1. Seleccionamos el rango de valores, a partir de la segunda celda. En el ejemplo, desde la celda A2. 2. Tomamos las opciones Formato•Formato condicional. 3. En la primera opción seleccionamos Fórmula. 4. En la segunda escribimos =CONTAR.SI(A$1:A1;A2)>0. 5. Hacemos un clic en Formato.... 6. En el cuadro que aparece indicamos algún formato adecuado que destaque claramente del resto de las celdas. Por ejemplo, relleno rojo. 7. Hacemos un clic en Aceptar (el formato elegido). 8. Hacemos un clic en Aceptar (la condición asociada al formato). Con esto le pedimos a Excel es que destaque (sobre fondo rojo) las celdas que contengan valores que se encuentren, por lo menos una vez, en las celdas anteriores. Claudio H. Sánchez

Días hábiles.

¿Cómo puedo calcular la cantidad de días laborables (excluyendo sábados y domingos) que median entre dos fechas dadas?

Excel dispone para este cálculo la función DIAS.LAB, que devuelve la cantidad de días que median entre las dos fechas excluyendo sábados y domingos pero incluyendo a ambas. Por ejemplo, =DIAS.LAB(“21/8/2002”; “27/8/2002”) da como resultado cinco: de los siete días, el 24 es sábado y el 25 es domingo. Para excluir de la cuenta también los días festivos, la función admite como tercer argumento un rango donde escribimos la lista de días no laborables. En la figura adjunta puede observar un ejemplo de aplicación de esta función con algunos días festivos: del 29 de abril al 10 de mayo hay dos semanas completas, o sea diez días hábiles, pero como en el medio está el primero de mayo, la función devuelve 9. Claudio H. Sánchez

Validar contenido de una celda en Excel.

Tengo una duda con respeto a un ejercicio que deseo hacer en Excel 97 y consiste en lo siguiente. Tengo una lista de 10 números de serie de un producto x y lo que deseo es compararlos con un numero de serie que introduzca en cualquier otra celda, donde si el numero de serie que se captura en la otra celda existe ya en la lista que me permita seguir capturando mas datos en mi tabla como descripción, costo etc. en caso contrario si no existe que muestre un mensaje que diga que el numero que se ha capturado no es válido y que me pida introducir otro numero de serie hasta que introduzca uno de los que se encuentre en la lista.

Excel cuenta con una herramienta para validar el contenido de una celda. Puede encontrarla en el menú Datos • Validación... Esta herramienta le permite aplicar un criterio de validación a una o varias celdas para que, por ejemplo, solo permita: números enteros, números decimales, fechas, etc. Entre estas opciones de validación hay una llamada Lista que comparara el valor de una celda con el del contenido de una lista, de tal modo que si no existe dar un mensaje de error. Veamos los pasos para validar una celda: 1. Escriba la lista de números de serie en una columna. 2. Seleccione todas las celdas en las que tiene previsto introducir números de serie y seleccione en el menú: Datos • Validación... 3. Verá un cuadro de diálogo con tres fichas o solapas: Configuración, Mensaje entrante y Mensaje de error. En la primera de ellas escoja en la lista desplegable Permitir la opción Lista. 4. Y en el cuadro de texto Origen, pulse sobre el botón que lo acompaña y seleccione las celdas correspondientes a los números de serie que tiene como referencia (los diez números de serie). 5. En esta misma solapa verá la opción Celda con lista desplegable, si la deja activada cada vez que vaya a rellenar la celda del número de serie,

13

TRUCOS Y PREGUNTAS DE EXCEL Y WORDse desplegará una lista conteniendo los valores posibles. 6. Pulse ahora sobre la solapa Mensaje de error y asegúrese que está activada la opción Mostrar mensaje de error si se introducen datos no válidos. Podrá escoger entre tres estilos de notificación y escribir el mensaje que desea que aparezca cuando el dato introducido no se corresponde con un número de serie. Una vez hecho esto pulse el botón Aceptar. Ahora pruebe el funcionamiento de este sistema introduciendo un número de serie que no se encuentre en la lista y verá como Excel le muestra un cuadro de aviso indicándole que los datos introducidos no son correctos. Rodolfo de Benito

Configuración de la puntuación.

He hecho algunas actualizaciones en mi sistema y, como consecuencia, las comas han desaparecido como separador decimal en mis planillas Excel. Ahora tanto los millares como los decimales los separa por puntos. ¿Cómo hago para que los miles se separen por puntos y los decimales por comas?

Este parece ser un problema de la configuración regional de Windows, que establece los separadores, signos monetarios, formatos de fecha y otros parámetros: 1. Desde el menú Inicio de Windows, tomamos las opciones Configuración • Panel de control. 2. Dentro de las opciones del panel de control seleccionamos Configuración regional. Aparece un menú con varias fichas. 3. La ficha Configuración regional permite elegir el idioma y el país. Indicamos español y España, respectivamente. La fichará indicará los parámetros (separadores, signos monetarios y otros) actuales y los que corresponden a las nuevas opciones indicadas. 4. En la ficha Número indicamos cada uno de los separadores (y, eventualmente, otros signos) que nos interese aplicar. 5. Hacemos un clic en Aceptar. Puede ser que Windows invite a reiniciar el equipo. Cuando lo hayamos hecho los valores de Excel deberán presentarse de acuerdo con la configuración elegida. Claudio H. Sánchez

Céntimos en letras.

He descargado la función ENLETRAS del sitio de PC World (www.idg.es/pcworld/listados.asp). Mi único inconveniente es que esta función trabaja solamente con valores enteros. ¿Cómo se debe modificar el código para poder expresar en letras importes con céntimos?

Se refiere a una función que da la expresión en letras de valores enteros de hasta nueve cifras, publicada en nuestra edición 171, de diciembre de 2000. Es fácil adaptar la función para que admita números con dos decimales. Al comienzo de la función, se deben incluir estas dos líneas: parte0 = 100 * (x - Int(x)) x = Int(x) De esta forma, la variable parte0 contendrá los céntimos del valor a convertir mientras que x contendrá solamente la parte entera. Al final de la función, antes de End Sub se debe incluir estas instrucciones: If parte0 > 0 Then ENLETRAS = ENLETRAS + _ " CON " + NOMBRE(parte0) End If Esta instrucción agrega la expresión en letras de los céntimos, si los hubiera. También se puede usar la función ENLETRAS original para cifras con céntimos si se la escribe en una celda Excel como se indica en la Figura. Esta fórmula concatena cuatro partes: la expresión en letras de la parte entera, la palabra CON, la cifra de los céntimos y la expresión /00. Además del operador de concatenación (&) la fórmula usa dos funciones estándares en Excel: RESIDUO y TEXTO. RESIDUO devuelve el resto obtenido al dividir los dos valores indicados entre los paréntesis. En nuestra fórmula, el efecto es calcular las dos cifras centesimales. TEXTO convierte un valor numérico en texto para poder concatenarlo. Los dos argumentos son el valor a convertir y el formato con el que lo queremos obtener. La fórmula de la celda B1 concatena la expresión en letras de la parte entera del importe escrito en A1 junto con la cifra de los céntimos. Claudio H. Sánchez

Código de barras.

¿Es posible, a partir de un valor escrito en una celda, obtener el código de barras correspondiente?

14

TRUCOS Y PREGUNTAS DE EXCEL Y WORDLos códigos internacionales de barras le atribuyen a cada dígito una secuencia de líneas blancas y negras. Puede obtenerse la secuencia correspondiente a un valor dado instalando una tipografía equivalente al código. Varias empresas producen y comercializan este tipo de tipografías y pueden encontrase en Internet. Por ejemplo, en el sitio www.barcodings.com. La compañía Elfring Fonts Inc. provee tipografías que dan el código de barras para cualquier valor escrito en aplicaciones Windows Claudio H. Sánchez

Captura de datos en Excel.

Me gustaría proponer si es posible realizar una tarea concreta en Excel. La introducción de una serie de datos consecutivos a partir de una macro. Excel dispone de la función MsgBox que no es la más indicada si por ejemplo necesitásemos rellenar los campos de una Factura u otro proceso donde necesitemos introducir una secuencia más o menos grande de números u otra información. He podido comprobar que Excel además no tiene Eventos a nivel de celda con lo cual no puedo crear una función del tipo "Al perder el foco" o "al ganar el foco" y por tanto no sé nunca en que celda me encuentro para poderme desplazar a otra concreta. Lotus 1-2-3 dispone de la función “?” que espera la entrada de datos hasta que se pulse Intro. ¿Cómo podía hacer algo parecido?

Vayamos por partes. Para saber en qué celda se encuentra puede emplear ActiveCell.Cells.Address que le retornará la dirección de la celda activa. Para desplazarse a partir de la celda activa puede utilizar ActiveCell.Offset(fila, columna).Select. Por ejemplo si la celda activa es la B10 y utiliza ActiveCell.Offset(-2, 2).Select conseguirá situarse en la celda D8. En cuanto a simular el comando “?” de Lotus, el cual detiene una macro hasta que se pulsa la tecla Intro, podría intentar algo similar a esto: Sub Espera() ‘Introduzca aquí su código Application.OnKey "{Enter}","Sigue" Application.OnKey "~","Sigue" End Sub Sub Sigue() 'Introduzca aquí su código Application.OnKey "{Enter}" Application.OnKey "~" End Sub En la macro Espera permitimos que se realice cualquier cosa en la hoja de cálculo hasta que se pulse la tecla Intro. Esto lo conseguimos gracias a la instrucción Application.OnKey la cual ejecuta la macro Sigue cuando se pulsa la tecla Intro. Puesto que existen dos teclas Intro, la del teclado alfanumérico y la del numérico, y ambas tienen códigos diferentes es necesario utilizar dos Application.Onkey. En la macro Sigue liberamos ambas teclas Intro. Como ve, puede combinar estas dos macros junto con las instrucciones ActiveCell.Cells.Address y ActiveCell.Offset(fila, columna).Select para que se ajusten a sus necesidades. Rodolfo de Benito

Diferencias entre tiempos.

Tengo una planilla que controla las paradas técnicas de un alto horno. En dos columnas escribo las horas de inicio y fin de cada detención. Restando ambas horas obtengo el tiempo durante el cual el horno estuvo detenido. Cuando la detención comienza cerca de la medianoche y termina al día siguiente la hora final es menor a la inicial y la resta entre ambas da un número negativo. ¿Cómo calculo la duración de la parada en ese caso?

En principio, la resta entre dos datos de tipo fecha u hora es igual al tiempo transcurrido entre ambos momentos. Para que la resta tenga sentido, el segundo dato debe ser posterior (es decir, mayor) al primero. Esto no se cumple en el caso de las filas 2 y 5 de la planilla de la figura. Para obtener el resultado correcto en esos casos a la hora de fin de la detención se le debe sumar 24 horas, porque corresponde al día siguiente. Por ejemplo = (B2+1)-A2. Como para Excel los datos de tipo fecha u hora se miden en días, el valor 1 que aparece sumando a B2 equivale a 24 horas. Esta corrección en el cálculo de la duración se hace solamente cuando la segunda hora es menor que la primera. En los demás casos, la duración se calcula por resta simple. Se debe aplicar una función condicional SI para que se aplique una u otra fórmula según el caso. Considerando la planilla de la figura, la fórmula a escribir en C2 es =SI(B2>A2;B2-A2;B2+1-A2). La función condicional lleva tres argumentos entre los paréntesis: - El primero es la condición, de cuyo cumplimiento o no depende el cálculo que se tendrá en cuenta. - El segundo es el cálculo a considerar si la condición se cumple. - El tercero es el cálculo a

15

TRUCOS Y PREGUNTAS DE EXCEL Y WORDconsiderar si la condición no se cumple. En la expresión anterior, primero se evalúa si la hora de detención es mayor (posterior) a la de inicio. De ser así, la duración se calcula restando ambos valores. En caso contrario, se suma una unidad (equivalente a 24 horas) a la hora de fin. Esta fórmula debe extenderse luego a toda la columna. En la figura: La fórmula de la columna C resta la hora de fin de la de inicio para calcular el tiempo de detención; pero cuando la segunda hora es menor a la primera, el resultado de la resta es negativo y se obtiene una señal de error. Claudio H. Sánchez

Proteger macros.

¿Cómo puedo proteger las macros y las funciones para que no puedan ser consultadas ni modificadas por el usuario final de la hoja?

A las macros de un libro se les puede aplicar una contraseña de protección para que su código no pueda ser consultado. Esto se hace desde el Editor de Visual Basic: 1. Abrimos el editor con las opciones Herramientas•Macros•Editor de Visual basic. 2. Ya dentro del editor tomamos las opciones Herramientas•Propiedades de VBAProject. Aparecerá un cuadro con dos hojas: General y Protección. 3. Seleccionamos esta última hoja. 4. Marcamos la opción Bloquear proyecto para visualización. 5. Escribimos y confirmamos la contraseña de protección. 6. Hacemos un clic en Aceptar. 7. Salimos del editor y volvemos a Excel. Ahora las macros han quedado protegidas. Para que la protección entre en vigencia debemos grabar y cerrar el libro. La próxima vez que queramos tener acceso a los módulos que contienen las macros, Excel nos solicitará la contraseña. En la figura, marcando la opción Bloquear proyecto para visualización e indicando una contraseña podemos proteger los módulos de un libro Excel. De esa forma, las macros del libro no podrán ser consultadas ni modificadas por quien desconozca la contraseña. Claudio H. Sánchez

Compartir libros en Excel.

He creado una intranet en el servidor de mi empresa. Tengo un problema con las hojas Excel de la intranet, y es que no pueden ser consultadas por más de una persona a la vez. Hay alguna solución sencilla a esto?

El problema con el que se encuentra es que si un usuario ya tiene abierto un archivo Excel y otra persona abre el mismo archivo, el programa le indicará que únicamente puede abrirlo en modo solo lectura y por lo tanto no se podrán guardar cambios en el libro. La solución es sencilla y consiste en decirle a Excel que quiere compartir el archivo. Para ello siga estas indicaciones: 1. Seleccione en el menú Herramientas · Compartir libro. 2. Active la casilla Permitir la modificación por varios usuarios a la vez situada en la ficha o solapa Modificación. 3. Pulse sobre la ficha o solapa Uso avanzado y configúrelo a tenor de sus necesidades. 4. Por último pulse el botón Aceptar y guarde el libro cuando Excel se lo solicite. Si lo desea puede restringir el acceso al libro compartido mediante la opción del menú Herramientas · Proteger · Proteger y compartir libro. Rodolfo de Benito

Libros de Excel corruptos.

Intento abrir sin resultado un pequeño fichero de Excel creado hace 3 años y utilizado diariamente. Lo único que consigo es que Excel me muestre un mensaje indicando que no puede obtener el acceso al archivo. Me comentó un amigo que a veces puede romperse la secuencia inicial para abrir el fichero. ¿Qué me aconsejáis?.

Su amigo está en lo cierto. Es posible que el fichero esté dañado con lo cual cuando intente abrirlo obtendrá un mensaje informativo indicando la imposibilidad de obtener acceso al fichero debido a tres causas: que el archivo sea de sólo lectura, que intente obtener acceso a una ubicación de sólo lectura o que el servidor donde se encuentra el documento no responda. Si usted está seguro de que ninguna de las tres causas se cumple puede intentar varias cosas: buscar y reparar errores en el disco utilizando Scandisk, utilizar un programa de reparación de

16

TRUCOS Y PREGUNTAS DE EXCEL Y WORDarchivos dañados o intentar acceder a los datos de la hoja mediante una función. La primera opción es muy sencilla y deja todo el trabajo al Scandisk, pero no tiene demasiadas posibilidades de éxito. La segunda opción es la más cómoda y consiste en comprar un programa del estilo del Excel Recovery que cuesta unas 27.000 Ptas. o del ExcelFix 16.000 Ptas. Puede encontrar información sobre el programa y una versión de demostración en la web www.officerecovery.com/excel/ y en es.excelfix.com. La tercera opción es la que vamos a explicar en detalle. Consiste en extraer los datos del libro dañado mediante fórmulas que hagan referencia a cada celda de cada hoja. Veamos como: 1. Cree un libro nuevo en Excel y guárdelo en la misma carpeta en la que se encuentra el archivo dañado. 2. En la celda A1 de la Hoja1 del nuevo libro escriba: =SI(espacios([milibro.xls]mihoja!A1)="";"";[milibro.xls]mihoja!A1) Sustituyendo en la fórmula milibro por el nombre del libro dañado y mihoja por el nombre de la hoja que quiera recuperar, por ejemplo [gastos.xls]Hoja1 Esta función evita que cuando en una celda del archivo dañado esté en blanco no salga un cero en la nueva hoja. 3. Extienda la fórmula al resto de las celdas utilizando el controlador de relleno y tendrá toda la hoja recuperada. 4. Seleccione todas las celdas y seleccione en el menú Edición · Copiar. Sitúese en la primera celda de una hoja en blanco, seleccione en el menú Edición · Pegado especial, active la opción Valores y pulse el botón Aceptar. 5. Ahora tendrá dos hojas con la misma información y podrá eliminar la primera de ellas, es decir, la que tiene en cada celda la fórmula con la función SI. Si efectúa los pasos del 2 al 5 para el resto de las hojas del libro, tendrá todo el archivo recuperado. Rodolfo de Benito

Convirtiendo números a letras en Excel.

¿Se puede de alguna manera ya sea a través del formato de Excel o mediante alguna utilidad, cambiar el formato de un número y mostrarlo en letras? Es decir, poner 1.235 y que aparezca mil doscientas treinta y cinco.

Mediante el formato de Excel no es posible. La solución puede ser crear un módulo de Visual Basic que nos realice el trabajo. Afortunadamente Microsoft nos ofrece otra alternativa en su web del área de descarga de Excel. Se trata de utilizar una función llamada Recibo que se encuentra en una librería dinámica y que puede llamarse fácilmente desde Excel definiendo una pequeña función. Veamos los pasos necesario para que pueda utilizarla: 1. Descargue a una carpeta de su disco duro el archivo E10467.EXE en la dirección: www.microsoft.com/spain/support/kbsl/softlib/msfiles/E10467.EXE 2. El archivo E10467.EXE contiene dos archivos empaquetados: DLLTCAST.DLL y E10467.DOC. El primero es la librería dinámica que contiene la función Recibo y el segundo en un archivo de Word con las instrucciones para utilizar en Excel la función. Ejecute el archivo E10467.EXE y copie el archivo DLLTCAST.DLL a la carpeta System situada en la carpeta Windows de su disco duro. 3. Inicie Excel y en un libro nuevo o en el que necesite utilizar la conversión de números a letras, inserte un nuevo módulo de Visual Basic. En Excel 2000 puede hacerlo mediante el menú Herramientas · Macro · Editor de Visual Basic. y a continuación ejecutando en este editor el comando Insertar · Módulo. 4. Escriba el código siguiente en el módulo:Declare Sub Recibo Lib "dlltcast.dll" (cifra As Long, ByVal texto As String)Function letras(minumero)Dim texto As String * 255Dim cifra As Longtexto = String(255, 0)cifra = CLng(minumero)Call Recibo(cifra, texto)letras = textoEnd Function

5. Guarde el libro de trabajo y cierre el editor de Visual Basic. Pruebe a utilizar la función en la hoja de cálculo en la que ha definido la función escribiendo =letra(Número). Siendo Número un valor numérico o una referencia a una celda que contenga un número. Por ejemplo: =letra(5677899) o =letra(C2) o también En el archivo de Word E10467.DOC, encontrará la forma de utilizar esta función desde cualquier hoja de cálculo sin necesidad de definirla nuevamente. Rodolfo de Benito

17

TRUCOS Y PREGUNTAS DE EXCEL Y WORDBorrado automático de datos y copia a otra hoja.

Quisiera saber cual sería el procedimiento para que al rellenar unos datos en una hoja de cálculo, éstos automáticamente se borrasen y pasasen a otra hoja o base de datos para continuar introduciendo más datos.

La solución que le propongo utiliza Excel 2000 y consiste en dos hojas, una denominada “Entrada de datos”en la que se introducen los datos siguientes: nombre, apellidos, edad y país. Y otra denominada “Base de datos” en la que van almacenándose en forma de lista los datos introducidos hasta la fecha. La transferencia de datos de una hoja a otra y el borrado recaerá sobre una macro que se activará mediante la pulsación de un botón situado en la primera hoja. A grandes rasgos la macro deberá de realizar estas funciones:1. Seleccionar los datos de la primera hoja “Entrada de datos” y copiarlos. 2. Activar la hoja “Base de datos”.3. Buscar la primera fila libre que encuentre en la lista.4. Pegar los datos.5. Activar la hoja “Entrada de datos” y borrar los datos ntroducidos.Para crear un botón en la primera hoja, puede utilizar la barra de herramientas Formularios (seleccionado en el menú Ver·Barras de herramientas·Formularios) y pulsar en el control Botón. Seguidamente determinará las dimensiones y posición del botón dibujándolo en la hoja.. Una vez dibujado aparece un cuadro de diálogo en el que pulsará el botón Nuevo para indicarle que va a asociarle una macro de nueva creación. Al realizar esta operación se abrirá el editor de Visual Basic y podrá copiar el código de la macro entre las instrucciones Sub Botón_AlHacerClic() y End Sub. Recuerde que no es necesario que copie los comentarios que aparecen en la macro, éstos se distingue del resto porque comienzan con el carácter ‘. Sub Botón_AlHacerClic() ‘Selección de las celdas A2:D2 Range("A2:D2").Select ‘Copia de la selección Selection.Copy ‘Activación de la hoja Base de datos Sheets("Base de datos").Select ‘Búsqueda de la primera fila libre fila = 2 Do While ActiveSheet.Cells(fila, 1).Value <> Empty fila = fila + 1 Loop ‘Activación de la celda libre y pegado de los datos ActiveSheet.Cells(fila, 1).Select ActiveSheet.Paste ‘Borrado del contenido de las celdas A2:D2 de entrada de datos Sheets("Entrada de datos").Select Range("A2:D2").Select Selection.ClearContents End Sub Una vez copiada la macro, cierre la ventana del editor y pruebe el funcionamiento del botón introduciendo datos en la primera hoja y pulsándolo. Observará que los datos de la primera hoja pasan a la segunda desapareciendo de la primera y que cada vez que repita el proceso los datos se apilarán formando una lista en la segunda hoja.. Rodolfo de Benito

Funciones personalizadas en Excel.

¿Cómo puedo realizar una función en Excel 97, de forma que tecleando “=mediapond(a1:b5)”, me devuelva la media ponderada? . La función tiene que servir para cualquier rango de celdas y mi problema es que no se cómo tratar ese rango que se pasa como argumento de la función. He consultado varios libros, distintos foros en Internet y no he conseguido la solución. Muchas gracias.

Su problema puede resolverse fácilmente si define la función siguiente en un módulo :Function Mediapond(rango As Range) As DoubleDim fila As Integer, n As DoubleDim denominador As DoubleFor fila = 1 To rango.Rows.Countn = n + rango(fila, 1) * rango(fila, 2)enominador = denominador + rango(fila, 2)Next filaMediapond = n / denominadorEnd FunctionLa función multiplica los elementos de cada fila y almacena su suma en la variable n. Además, suma el valor de los elementos situados en la segunda columna del rango almacenando su valor en la variable denominador. Por último, se obtiene el valor de la función dividiendo n entre denominador. Como puede ver en el código la variable rango se ha definido como tipo Range y contiene el rango de celdas seleccionado para calcular la función. Para acceder a los elementos

18

TRUCOS Y PREGUNTAS DE EXCEL Y WORDdel rango puede utilizar rango(fila, columna), de tal forma que rango(1,1) hace referencia al elemento situado en la primera fila y primera columna del rango. Rodolfo de Benito

Transponer celdas.

Tengo unos datos en una hoja de cálculo almacenados verticalmente y me gustaría pasar estos datos a otra parte de la hoja pero en disposición horizontal . Estuve consultando las fórmulas de Excel y la que más se adapta a mis necesidades es transponer, pero no consigo que funcione.

Tal y como usted dice lo que necesita hacer es transponer las celdas. Veamos los pasos necesarios: 1.- Seleccione las celdas a transponer. 2.- Ejecute el mandato Edición·Copiar utilizando, por ejemplo, el menú 3.- Sitúese en la parte de la hoja dónde desee situarlos datos en disposición horizontal. En concreto pulse sobre la celda a partir de la cual se van a colocar los datos. 4.- Ejecute el mandato Edición·Pegado especial y active la opción Transponer. 5.- Pulse el botón Aceptar. Una vez realice estos pasos habrá conseguido su objetivo. Rodolfo de Benito

Excel y HTML.

Desde una aplicación genero páginas HTML básicas que luego deben ser leídas en Excel y Word. En el caso de Excel, he comprobado que cambiando la extensión del fichero de .htm a .xls presenta sin problemas la información, si esta se trata de tablas, filas y celdas. Sin embargo, si la página incluye una imagen mediante

etiquetas tipo , Excel la ignora y no muestra la imagen. La página está bien formada y tanto Word como cualquier navegador la presentan perfectamente. ¿Existe alguna manera de que Excel muestre imágenes al leer ficheros HTML?

La cuestión no es que su navegador pueda presentar bien la página. La cuestión es si su versión de Excel está preparada para visualizarla correctamente. Por lo que plantea, todo apunta a que usted utiliza Microsoft Excel 97. Esta versión no soporta todos los elementos de un archivo HTML. Algunas etiquetas o tags son ignoradas, como es el caso de: HTML, HEAD, ,BODY, BACKGROUND. Y otras, como usted ya ha comprobado, sencillamente no están soportadas. En esta situación están: HREF, NAME, IMG, AREA, MAP, MARQUEE, BCOLOR, ID, LANG, DIR, CLASS, CLEAR, NOFLOW, CHAR, CHAROFF, COLS, CELLSPACING, CELLPADDING. Respecto a si hay forma de que Excel muestre las imágenes presentes en un archivo HTML, pues si, el problema está resuelto en Excel 2000. Éste es capaz de visualizar el contenido de una página Web sin demasiados contratiempos. Rodolfo de Benito.

Formato de horas en Excel.

¿Existe alguna forma de ingresar sólo la hora en una celda sin poner los minutos (ingresar 13 en lugar de 13:00) y que no lo transforme en formato de dd/mm/aa hh:mm:ss? Ya probé con el formato personalizado, pero al introducir, por ejemplo, 13 lo transforma en día 13 en lugar de tomarlo como una hora. Es necesario que lo considere como hora, ya que se utiliza en un cálculo.

Me temo que no es algo que pueda solucionarse con el formato. Voy a proponerle dos alternativas. La más rápida es poner la hora seguida de los dos puntos, por ejemplo 13: en lugar de 13:00. Al menos le evitará teclear el 00 correspondiente a los minutos. La alternativa número dos es utilizar una fórmula que transforme un número en una hora. La formula le permitiría transformar 13 en 13:00 y también tendría en cuenta los minutos transformando 13,30 en 13:30. Suponga que en la celda A1 de la hoja de cálculo tiene el número 13, pues si en la casilla donde quiere obtener la hora introduce la fórmula =NSHORA(ENTERO(A1);100*(A1-ENTERO(A1));0) conseguirá que se transforme el número en hora. Como puede ver la función NSHORA trabaja con tres argumentos: el primero es la hora que lo obtenemos de la parte

19

TRUCOS Y PREGUNTAS DE EXCEL Y WORDentera del número, el segundo son los minutos, que conseguimos multiplicando por cien la diferencia entre el número y su parte entera, y el último argumento son los segundos que, como no los tenemos en cuenta, ponemos cero. Rodolfo de Benito

Lentitud al cerrar los libros en Excel.

Desde hace algún tiempo tengo el siguiente problema: al cerrar libros y hojas de MS Excel (no importa el tamaño de éstas), se ralentiza, tardando muchísimo en hacerlo (más de 25 segundos actualmente, ya que el problema ha ido aumentando progresivamente). Igual ocurre cuando utilizo “Guardar como” en libros de nueva creación, aunque no lo cierre. La apertura de estos ficheros la hace bien, así como el cierre de cualquier otro documento de cualquier otro programa (MS Word, Draw, etc.) Sólo ocurre al cerrar las hojas de Excel. He probado a reinstalar Excel e incluso todo el Office, pero no se ha solucionado el problema. Agradecería mucho cualquier sugerencia para solucionarlo. El equipo es el siguiente: Procesador AMD K-6 II 300, 32 MB de SDRAM, disco duro de 3,2 GB (2,3 GB libres), tarjeta de vídeo Virge PCI de 2 MB, CD-ROM Toshiba XM-6402B. Y el software principal: Windows 98, Office 97 Profesional, Micrografx Windows Draw, antivirus McAfee VirScan y compresor Pkzip.

Uno de los responsables más frecuentes a la hora de ralentizar los programas de Office 97 es MS Outlook en su versión 97 ó 98. Este programa, por defecto, mantiene un archivo log que le permite seguir la pista del uso de sus archivos utilizados por Office, de tal forma que, utilizando el Diario de Outlook, usted sabría qué ficheros se utilizaron en un momento determinado. El problema surge porque el tamaño del citado log aumenta cuanto más se utilice Office y el rendimiento disminuye. Por sus indicaciones parece que usted padece este problema. Le recomiendo que desactive esta opción del Outlook. Para ello acceda a Outlook 97 (no se confunda con Outlook Express) y seleccione en el menú: Herramientas·Opciones del diario y desactive las casillas que correspondan a cualquier programa de MS Office. En la versión 98 del Outlook deberá seleccionar en el menú: Herramientas·Opciones·Preferencias·Opciones del diario y desactivar, como en el caso anterior, las casillas pertenecientes a cualquier programa Office. Rodolfo de Benito

Insertar automáticamente saltos de página al cambiar el valor en una columna de datos.

Estoy intentando hacer una macro en Excel que inserte saltos de página cuando cambie el valor de la celda siguiente en la columna A. ¿Podrían indicarme como lo puedo conseguir? La necesito para que imprima separadamente las marcas de los artículos de un inventario.

La manera más sencilla de resolver el problema que describe es usar la opción Datos/Subtotales. Sin embargo, antes debe asegurarse de que sus datos tienen estructura de “base de datos” para Excel, es decir, que existe una primera línea con cabeceras de campo, y a partir de ella están los registros sin ninguna fila ni columna en blanco. El paso siguiente es ordenar los datos por el criterio de corte, en su caso por el campo de la columna A. Seguramente ya los tiene en ese orden, pero si no es así recuerde que, aunque el fin es ordenar por la columna A, debe seleccionar todas las columnas de datos al ordenar. Y ya puede proceder a calcular los subtotales. Con el cursor en cualquier celda de la base de datos, elija la opción Datos/Subtotales. En la caja de diálogo, seleccione en primer lugar el campo del cual van a analizarse los cambios (en su caso el campo de la columna A). Luego indique qué función desea calcular. Es posible que no necesite ningún cálculo concreto, en cuyo caso puede sencillamente contar el número de registros de cada grupo. Luego indique el campo o campos de la base de datos sobre los que se aplicará la función indicada. Tenga en cuenta que no es posible dejar deseleccionados todos los campos: debe seleccionar al menos uno. Finalmente, observe que en la parte inferior de la caja de diálogo tiene tres casillas de verificación. Mantenga o no la selección de las dos casillas de verificación Reemplazar subtotales actuales y Resumen debajo de los datos, y active la opción Salto de página entre grupos para resolver el problema que plantea. Antonia Soler

20

TRUCOS Y PREGUNTAS DE EXCEL Y WORDQuitar contraseñas Excel y problemas al Guardar.

Tengo archivos Excel protegidos por contraseñas y no me acuerdo de ellas. ¿Cómo podría quitarlas? Por otro lado, cuando abro e intento guardar con otro nombre determinados documentos de Excel me sale un mensaje de error y me cierra automáticamente la aplicación. ¿Cuál puede ser el problema?

Como usted ya sabe, la opción que incorpora Excel de proteger archivos mediante el uso de contraseñas es de gran utilidad para evitar que otras personas puedan manipular o visualizar nuestras hojas de cálculo. Desgraciadamente, suele ocurrir con frecuencia que al cabo de un tiempo el usuario olvide la contraseña y se encuentre con el problema que usted manifiesta. ¿Cuál es la solución? Evidentemente Microsoft no presenta en su programa ninguna opción para desproteger el archivo, ya que si lo hiciera las claves no tendrían ninguna utilidad. Si forzosamente necesita abrir esos archivos y éstos son de su propiedad, hay algunas empresas con presencia en Internet que comercializan productos que pueden ayudarle. Algunas de ellas son www.accessdata.com, www.lostpassword.com u officepassword.com/mainpwt.htm Respecto a la segunda cuestión, si al intentar Guardar como un archivo Excel le da un error que provoca la finalización no deseada del programa, es muy posible que dicho archivo esté dañado. Las causas de que el archivo esté dañado pueden ser múltiples, desde cerrar de forma incorrecta Windows hasta un problema con la memoria del ordenador. Una solución que funciona en la mayoría de los casos es crear un nuevo archivo Excel, seleccionar el contenido de la hoja de cálculo “dañada”, copiarlo y pegarlo en el nuevo archivo. Si tiene más de una hoja de cálculo en su libro, deberá de copiar hoja por hoja al nuevo libro. Rodolfo de Benito

Ocultar una fila en una macro de Excel.

Mi consulta es la siguiente: en Microsoft Excel no consigo ocultar una fila con Visual Excel. Sólo puedo seleccionarla, pero no ocultarla.

El código para ocultar la fila seleccionada, o sencillamente la fila donde está el cursor, es el siguiente: Selection.EntireRow.Hidden = True Recuerde que una manera sencilla de resolver problemas similares es usar la memorización de macros, de modo que basta activar la grabación, realizar la tarea en modo interactivo, y después finalizar la grabación. A continuación nos dirigimos a ver el código generado automáticamente, y basta con copiarlo y pegarlo en la macro que estemos creando. Antonia Soler

Problema con la función BUSCARV.

Uso la función BUSCARV para extraer un dato de una tabla. Cuando el dato buscado no existe, la función me devuelve #N/A. Quiero que en esos casos me devuelva “cero”. ¿Cómo lo tendría que hacer?

La función BUSCARV (también llamada “de búsqueda en tablas”) aparece en la imagen. En este ejemplo la función tiene cuatro argumentos entre los paréntesis: 1.- El código cuya cantidad asociada se quiere encontrar 2.- El rango de la tabla que relaciona código y cantidad 3.- El número de orden, dentro de la tabla, de la columna que contiene el dato buscado. El 2 del ejemplo indica que la cantidad está en la segunda columna de la tabla. 4.- El valor lógico FALSO, que le indica a la función que la tabla no está ordenada. Este argumento es opcional. El problema que plantea el lector es que, cuando se indica un código inexistente, la función devuelve el valor #N/A (not available o no disponible). Para que, en estos casos, la función devuelva el valor cero, debe usarse toda esta expresión: =SI(ESNOD(BUSCARV(F2;A2:B8;2;FALSO));0;BUSCARV(F2;A2:B8;2;FALSO)) Esta expresión emplea tres funciones: SI (condicional), ESNOD (es no disponible) y BUSVCARV. Su lógica es la siguiente: si el código indicado no existe, la función BUSCARV devuelve el valor #N/A, la función ESNOD devuelve el valor lógico VERDADERO y la condicional devuelve 0. En caso contrario, la función ESNOD devuelve el valor lógico FALSO y la condicional devuelve el valor encontrado por BUSCARV. Claudio H. Sánchez

21

TRUCOS Y PREGUNTAS DE EXCEL Y WORDMacro para ingresar datos automáticamente.

Cómo sería el código de una macro que localice la primera celda vacía de la columna B, ingrese un dato en ella y luego se desplace a la siguiente columna?

El código de la macro que pide el lector podría ser como el siguiente: Sub Macro() Range("B1").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0). Select ActiveCell.Value = "Manel" ActiveCell.Offset(0, 1). Select End Sub El código comienza con la instrucción especial Sub, seguida del nombre elegido para la macro. La instrucción Range("B1").Select ubica el cursor en la celda B1, primera celda de la columna B. La instrucción Selection.End(xlDown).Selecto lleva el cursor hasta la última celda ocupada de la columna B. Equivale a oprimir la combinación Control Flecha abajo. ActiveCell.Offset(1, 0).Select desplaza el cursor una fila hacia abajo. Es decir, a la primera celda vacía de la columna. La instrucción ActiveCell.Value = “Manel” asigna a la celda actual el valor “Manel”. Se usan comillas porque se trata de un dato tipo texto. ActiveCell.Offset(0, 1).Select desplaza el cursor una columna hacia la derecha. El código termina con la instrucción especial End Sub. Los dos argumentos de la instrucción Offset indican el desplazamiento del cursor. El primero es el desplazamiento vertical, positivo hacia abajo y negativo hacia arriba. El segundo es el desplazamiento horizontal, positivo hacia la derecha y negativo hacia la izquierda. Claudio H. Sánchez

Extender el uso de una macro a todas las hojas.

Tengo una hoja de cálculo con algunas macros. ¿Cómo debo hacer para que esas macros estén disponibles en todas las demás que pueda crear?

En principio, las macros son de alcance local: solamente funcionan en la hoja donde fueron definidas. Si se las quisiera usar en otras debería transferirse todo su código desde la hoja original a las demás. Una opción más conveniente es instalar la que tiene las macros como complemento. Los complementos son módulos que pueden instalarse en Excel, dotándolo de nuevos comandos y funciones. Primero hay que abrir la hoja que contiene las macros y guardarla como complemento: 1.- Se toman las opciones Archivo/Guardar como. 2.- Se indica, en la forma habitual, el disco, la carpeta y el nombre elegidos para guardar la hoja. 3.- Donde dice Guardar como tipo, se despliegan las opciones y se elige Complemento de Microsoft Excel (*.xla). 4.- Hacer clic en Aceptar. Ahora hay que instalar este complemento: 1.- Se toman las opciones Herramientas/Complementos. Aparece un cuadro con la lista de complementos disponibles. 2.- En este cuadro no aparecerá el complemento que se acaba de crear. Entonces se hace un clic en el botón Examinar. Aparece un cuadro de apertura de archivos. 3.- Se navega por este nuevo cuadro hasta localizar la hoja-complemento grabada anteriormente. 4.- Hacer clic en Aceptar. Vuelve a aparecer el primer cuadro, con el nuevo complemento ya seleccionado. 5.- Hacer clic en Aceptar. A partir de este momento, las macros definidas en la hoja-complemento podrán ejecutarse sobre todas las demás hojas abiertas en Excel. El complemento se abrirá automáticamente al iniciar el programa, lo que puede demorar unos segundos adicionales. Si se quiere desinstalar un complemento, se repiten los pasos anteriores desmarcándolo en el cuadro con la lista de complementos disponibles. Conviene agrupar en una única hoja-complemento todas las macros de propósito general. Ésta actuará como biblioteca personal de macros. Claudio H. Sánchez

Error al entrar en Excel 2000.

Estando trabajando con Excel 2000 se quedó bloqueado el ordenador y, no habiendo forma de continuar, opté por reiniciar el equipo. Cuando abrí Excel la vez siguiente me salió una ventana con el error: Error de compilación en el módulo oculto: RegistrationDB de Visual Basic Al pulsar el boton Ayuda me indicó lo siguiente: vamsgcomperrinhiddenmoduleError de compilación en un módulo oculto: los módulos protegidos no se pueden presentar. Las causas y posibles soluciones de este error son las siguientes: Existe un error de compilación en el código del módulo especificado pero no se puede mostrar porque el proyecto está protegido. Elimine la protección y ejecute nuevamente el código para ver el error. Si desea más información, seleccione el tema en cuestión y presione F1 (en Windows) o Ayuda (en

22

TRUCOS Y PREGUNTAS DE EXCEL Y WORDMacintosh). Después de ver la ayuda pulsé Aceptar. Con ello se inició Excel en apariencia correctamente. Dado que el mensaje descrito se repetía cada vez que abría el producto, desinstalé y volví a instalar Office 2000, sin resultados. Opté entonces por reinstalar Windows 98 SE e igualmente no se resolvió el problema. Aunque como digo, al aceptar el mensaje de error aparentemente todo funciona bien, quisiera resolver este problema.

Al arrancar Excel se ejecutan un conjunto de macros que añaden funcionalidades al programa. Estos módulos están protegidos y por tanto no se pueden revisar. No podemos pensar que contengan errores, ya que en ese caso daría error a todos los usuarios. Por tanto, pensamos que el problema puede estar relacionado con una librería que falta o está dañada. Esto provocaría que ciertas sentencias no sean reconocidas y, por tanto, den error. Para comprobar las librerías hay que arrancar Excel y usar la opción de menú Herramientas·Macro·Editor de Visual Basic. Una vez abierto el editor, abrimos el menú Herramientas·Referencias, y deben estar activas las siguientes: Visual Basic for Applications Microsoft Excel 9.0 Object Library OLE Automation Microsoft Office 9.0 Object Library Si las librerías están activadas y persiste el problema, el siguiente paso es, en Excel, usar la opción Herramientas·Complementos. Los desactivamos todos y luego los vamos añadiendo uno a uno, saliendo y entrando en Excel en cada prueba, para ver cuál es el que provoca el error. Jesús Alons

Análisis de frecuencias sobre texto en Excel.

Tengo una base datos en Excel 97 en la cual algunos registros de un campo Nombre y Apellidos (de texto), aparecen repetidos. Mi pregunta es ¿cómo puedo hallar la frecuencia con la que cada nombre aparece en la lista? (Ej.: Fulanito de Tal=2, Menganito de Cual=6, etc.). He probado con Histograma de Análisis de Datos pero sólo admite operar con datos numéricos, aparte que desearía que los resultados fueran actualizados automáticamente a medida que se fueran introduciendo nuevos registros (repetidos o no), cosa que no sucede en el caso de las herramientas de análisis de datos. También probé con la función Frecuencia, pero es necesario introducir los grupos sobre los que realizar el conteo, en mi caso los distintos nombres y apellidos de forma unitaria, con lo cual prácticamente la frecuencia la estaría realizando yo a mano. También intenté convertir cada valor del campo Nombre y Apellidos en otro valor, esta vez numérico, que fuera la suma de sus códigos siendo muy difícil que de dos nombres distintos la suma de los valores de sus caracteres ASCII coincidiera, pero en este caso vuelvo a tropezar contra el muro y tan sólo consigo el valor del primer carácter con la función de texto CODIGO(texto).

Puede obtener el cálculo que describe usando una tabla dinámica. En primer lugar, dé un nombre de rango a la base de datos que contiene los registros, usando la opción Insertar·Nombre·Definir. Tenga en cuenta que el rango debe incluir la cabecera o nombre de campo. A continuación, use el comando Datos·Asistente para tablas dinámicas. En el primer paso indique que los datos a analizar son una Lista o base de datos de Microsoft Excel. En el paso 2 introduzca el nombre de rango que dio a la base de datos. En el paso 3 arrastre el nombre del campo de la columna que contiene los nombres de personas (por ejemplo, Nombre) a la posición Fila y luego otra vez a la posición Datos. En esta última posición debe aparecer un botón con el texto Contar de Nombre. Finalmente, en el paso 4, indique dónde quiere obtener el resultado. Obtendrá así la lista de nombres y a la derecha el número de veces que aparecen. Cuando desee actualizar el resultado, primero debe redefinir el nombre de rango para que incluya todos los registros. Luego haga un clic sobre la tabla dinámica y use la opción Datos·Actualizar datos. Con ello no sólo se recalculará el número de veces que aparece cada persona, sino que además aparecerán las personas nuevas que haya introducido. Antonia Soler

Aumentar en 1 el valor de una celda al abrir un libro de Excel.

En Excel he creado una hoja de pedidos que tiene una celda con un número, que voy incrementando de uno en uno a medida que los pedidos se van generando, editando

23

TRUCOS Y PREGUNTAS DE EXCEL Y WORDdicha celda (F2). He intentado hacer un módulo de forma que al abrir el fichero se incremente dicho número de forma automática, pero he desistido.

Puede resolver su problema de la forma siguiente: suponiendo que el número del pedido está en la celda B3 y que la C3 está libre, puede crear una macro que introduzca en C3 la fórmula =B3+1. Luego la macro debe copiar esa fórmula y pegarla como valor (Pegado especial, Valores) en B3. Finalmente, la macro borra el contenido de C3. Si además llama a la macro "auto_open", ésta se ejecutará automáticamente al abrir el libro. Aquí tiene el módulo descrito: Sub auto_open() Range("C3").Select ActiveCell.FormulaR1C1 = "=RC[-1]+1" Range("C3").Select Selection.Copy Range("B3").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("C3").Select Application.CutCopyMode = False Selection.ClearContents End Sub Antonia Soler.

Conversión de números a euros en Excel.

En el suplemento de la revista PC World nº 156 (Los mejores trucos para Office), el truco nº 28 de Excel explica cómo convertir a euros los números de una hoja. Se indica que si los datos están en la Hoja 1, situemos el cursor en la celda A1 de la Hoja2, donde debemos escribir la fórmula que ustedes citan. El problema que tengo es que Excel no me hace la conversión a euros, ni en la Hoja1 ni en la Hoja2. He revisado la fórmula y la pongo igual que está en el suplemento, pero no consigo la conversión.

Seguramente su problema se debe a que ha olvidado las instrucciones siguientes que se indican en el truco citado. Una vez escrita la fórmula en la celda A1 de la Hoja2, debe copiar la fórmula hacia abajo y hacia la derecha hasta conseguir que actúe sobre todo el rango utilizado en la Hoja1. De este modo, la Hoja2 será igual que la Hoja1, pero con los valores expresados en euros. Antonia Soler

Operación en todas las celdas de Excel .

Quisiera saber si con Excel hay manera de poder hacer una operación de suma, resta, producto o división sobre todas las celdas de una hoja de cálculo sin tener que andar haciendo la operación celda por celda, con la pérdida de tiempo que conlleva. Sería muy útil, por ejemplo, ahora con el euro, para dividir todos los datos de una vez por el conocido precio de cambio de 166,386.

En principio, no hay una forma automática de conseguir que toda la información de una hoja de cálculo quede sumada, restada, multiplicada o dividida por un número. De hecho, tampoco es eso lo que normalmente se desea, ya que una hoja no suele contener sólo números, sino también textos, fórmulas y celdas en blanco. Pero puede conseguir su objetivo ejecutando unas acciones relativamente sencillas. Para explicar cómo hacerlo, me centraré en el ejemplo de conseguir que todos los números de una hoja queden automáticamente divididos por 166,386. Supongamos que la información se halla en la Hoja1, y que la Hoja2 está en blanco, por lo que la usaremos para obtener la información convertida. Sitúese en la celda A1 de la Hoja2 y escriba la fórmula siguiente: =SI(ESNUMERO(Hoja1!A1);Hoja1!A1/166,383;SI(ESBLANCO(Hoja1!A1);"";Hoja1!A1)) A partir de ahí, copie la fórmula hacia la derecha y hacia abajo hasta conseguir que actúe sobre todo el rango utilizado en la Hoja1. Esta fórmula dividirá los números entre 166,386 y dejará las celdas en blanco igualmente en blanco (y no con el valor 0 que daría si omitiese esta parte de la fórmula). Para terminar, los textos y las fórmulas permanecerán igual. Tenga en cuenta que la estructura de la fórmula señalada es igualmente válida si desea aplicarla en un rango disponible de la hoja de cálculo que contiene los datos originales, o incluso si desea usarla en otro libro de trabajo que se refiera al primero. Antonia Soler.

24

TRUCOS Y PREGUNTAS DE EXCEL Y WORDProtección de Hojas.

Necesito proteger una hoja de cálculo para evitar que se vean las fórmulas que utilizo e impedir que sean modificadas. Sin embargo cuando doy al comando “Proteger hoja” la hoja se queda tan bloqueada que no puedo trabajar con ella y además las fórmulas utilizadas son visibles.

Las celdas en una hoja de cálculo tienen dos atributos que hacen referencia a la protección: Bloqueada es el primero de ellos y significa que la celda no puede ser modificada cuando se activa la protección de hoja, todas las celdas lo tienen activado por defecto. Oculta es el segundo e impide que se visualice las fórmulas y/o referencias contenidas en las celdas, solo muestra el resultado, todas las celdas lo tienen desactivado por defecto. Los dos atributos se pueden cambiar en el menú “Formato+Celdas” y en la pestaña “Protección”. Esto implica que el procedimiento correcto para proteger una hoja es: 1º Marcar las celdas que queremos que no estén protegidas, por ejemplo las celdas de entrada de datos. 2º Quitar el atributo de bloqueadas en “Formato+Celdas” y “Protección”. 3º Marcar las celdas en las que queremos que exclusivamente se vea el resultado.(Celdas Ocultas). 4º Poner el atributo de Ocultas en “Formato+Celdas” y “Protección”. 5º Abrir el Menú “Herramientas” y escoger la opción “Proteger Hoja”, nos pedirá una contraseña, introducir la deseada y pulsar “Aceptar” La hoja de cálculo quedará protegida y solo podrá ser modificada por quien conozca la contraseña. Carlos Sáez.

Inclusión de texto en cálculos .

Necesito que en los datos y en los resultados de un hoja de calculo me aparezca detrás de los números la palabra “unidades” . ¿Como puedo hacer que salga automáticamente y por supuesto que los cálculos no se vean afectados? ¿Hay alguna forma de verificar que una formula esta utilizando las celdas correctas para un cálculo?

La solución es utilizar un formato de número personalizado. En Microsoft Excel debemos abrir el menú Formato + Celdas y en la pestaña “Numero” escoger la opción Personalizada. En el cuadro “Tipo” podremos escribir un formato personalizado de acuerdo con la siguiente sintaxis: el formato de número contiene cuatro secciones separadas todas ellas por un punto y coma, la primera para el formato de números positivos, la segunda para formato de números negativos, la tercera para el formato para ceros, y la cuarta formato para el texto. Por ejemplo #.##0 “Unidades”;[rojo]-#.##0“Unidades”;“No disponible”;”Error” Este formato de numero muestra Unidades después de cada entrada numérica, si el valor es cero muestra “No disponible”, y si es texto muestra “Error”. Para averiguar las celdas que intervienen en el resultado de otras, Microsoft Excel nos ofrece una herramienta de auditoría. Se activa abriendo el menú “Herramientas + Auditoria”. El comando “rastrear precedentes” nos permite ver mediante unas flechas azules que aparecen en la pantalla las celdas a las que hace referencia la fórmula de la celda activa. También podemos ver que celdas dependen de la celda activa utilizando la opción “rastrear dependientes”. Si la celda activa contiene un error podemos rastrear las celdas que lo producen mediante el comando “Rastrear error”, se indicarán las celdas implicadas con flechas rojas. Si no aparecen las flechas de rastreo, elija Opciones en el menú Herramientas, haga clic en la ficha Ver y luego en "Mostrar todo" o "Mostrar marcadores. Carlos Sáez.

Problemas con las notas.

Estoy intentando utilizar el menú “Insertar+Notas” para documentar las celdas de una hoja de calculo, pero no aparece el indicador de las mismas.

Para ver los marcadores de notas, elija Opciones en el menú Herramientas, haga clic en la ficha Ver y luego en "Indicador de notas”. Las celdas que estén con una nota mostrarán un punto rojo en la parte superior, y al poner el puntero del ratón encima de las celdas aparecerá un cuadro mostrando el contenido de la nota o reproduciendo la misma si se trata de una nota sonora. Carlos Sáez.

25

TRUCOS Y PREGUNTAS DE EXCEL Y WORD

¿Cómo puedo hacer que se busque un valor en una tabla de datos?.

2-Me resulta difícil marcar bloques con el ratón. ¿Hay algún modo alternativo de seleccionar celdas? 3-Al copiar un bloque de celdas desde una hoja a otra dentro de un mismo libro, obtengo un error "#¡REF!" en varias de las celdas, ¿a qué es debido?

-En Microsoft Excel hay dos sistemas, dependiendo de cómo esté construida la tabla, usaremos las funciones "Buscarv", o "Buscarh", dependiendo de si la tabla está construida en columnas (Buscarv) o en Filas (Buscarh). La sintaxis de la función es la siguiente: =BUSCARV(Valor_buscado;Matriz_a_ comparar;Indicador_de_columna;Ordenado) Y los parámetros que utiliza son 4, tres obligatorios y uno opcional. Son estos: Valor buscado: es el valor que se va a comparar con la tabla de datos. Puede ser un valor escrito como tal "4", sin más, o una referencia a una celda que contiene tal valor. Matriz a comparar: o tabla de datos, es la zona de datos ordenados en ascendente con cuya primera columna o fila vamos a comparar el valor buscado. Los rótulos, si los hubiera, no se incluyen nunca. Indicador de columna: establece, una vez hallado el "escalón" de la tabla que corresponde a nuestro valor buscado (o sea, el lugar donde el valor es igual o inmediatamente inferior al nuestro) el número de columna cuyo valor deseo devolver. Ordenado: se trata de un parámetro opcional. Puede ser VERDADERO (que es la opción por defecto), o FALSO (se usa raramente). Si se omite, o se usa VERDADERO, funciona buscando valores iguales o inferiores al de comparación. Si se especifica FALSO, sólo funciona de modo exacto: si hay un valor igual, lo pone, y si no lo hay, devuelve un error de tipo "#N/A", que significa que no lo encuentra. La verdad es que si se llamara "Exacto", en vez de "Ordenado", se entendería mejor. Error frecuente en la función BUSCARV o BUSCARH es el del tipo "#N/A", que significa que el valor no se encuentra disponible. Puede deberse a las siguientes causas: -El valor de comparación es menor que el más pequeño de la tabla. Podría solucionarse añadiendo a la tabla un escalón inicial con valores 0, o con uno inferior al mínimo con el que vayamos a comparar. -La tabla está construida en orden descendente, con lo cual, como se compara desde arriba hacia abajo, encuentra un valor superior al de comparación y no sigue. La solución consiste en reordenar la tabla, marcándola y aplicando el comando "Datos + Ordenar". -La tabla está mal definida. Solución: corregirlo; si se usó un nombre para definir la tabla, el comando "Edición + Ir a", nos permitirá seleccionar el nombre dentro de la lista, cuya zona quedará marcada, y nos facilitará la comprobación. Un caso muy común es que se hayan incluido los rótulos de las columnas de la tabla, que no se puede hacer. En Lotus 1-2-3 las funciones equivalentes de búsqueda en tablas son @ConsulV y @ConsulH. 2-Sí, hay otra forma de seleccionar bloques, una vez colocado el cursor en aquella que comience el bloque que deseamos, bastará con dejar presionada la tecla "Shift" -está justo debajo del bloqueo de mayúsculas- utilizando simultáneamente las teclas de cursor en el sentido deseado. Cabe también la posibilidad de dejar el cursor en la celda inicial, mover la hoja con las barras de desplazamiento, y manteniendo pulsada la misma tecla Shift, dar un sólo click de ratón en la celda final 3-Este tipo de error significa que la hoja no puede localizar una referencia que necesita para completar un cálculo. Se genera típicamente cuando el bloque pegado en la segunda hoja es sólo parte de la primera, donde existía un vínculo a una celda que quedó fuera del bloque marcado para copiar. Para encontrar la referencia del error, bastará con pedir "Edición+Buscar", y pedir que localice un símbolo #. El programa encontrará la celda origen de nuestros males. Carlos Sáez.

Macros de Excel en diferentes idiomas.

Tengo el programa Excel 5 funcionando bajo Windows 3.1, en castellano. Envío, mediante un disquete, una hoja de cálculo a Estados Unidos y allí tienen problemas para recuperarla con el programa Excel 5 funcionando bajo NT. Al recuperar el archivo aparece el siguiente aviso: No se encuentra el interprete ‘vbaes.dll’ He enviado este mismo archivo, tanto por correo electrónico como en disquete y tras instalarlo en varios directorios, como system y msoffice sigue apareciendo el mismo error. ¿Conocen la solución?

Aunque usted no lo comenta en su pregunta, es de suponer que en su hoja de cálculo existe alguna macro de Visual Basic. Hasta la versión 97, Microsoft da la opción de programar las

26

TRUCOS Y PREGUNTAS DE EXCEL Y WORDmacros de Excel en varios idiomas. Los dos archivos que controlan el idioma son vbaID.olb y vbaID.dll, donde ID indica el idioma, por ejemplo ES, para idioma español y EN para idioma inglés. Ambos archivos se encuentran en el directorio SYSTEM de Windows. El archivo OLB contiene todas las referencias necesarias para el correcto funcionamiento de la macro y por lo tanto es imprescindible en la ejecución de la misma. Para solucionar su problema envíe el archivo vbaes.obl e indique que se copie en el directorio SYSTEM. Con ello podrá recuperar y ejecutar sus macros en Excel 5, independientemente del idioma del mismo. Toni Martí Sevilla

Separación de cadenas.

Estoy realizando una hoja de cálculo para comprobación de los NIF de las facturas de proveedores. Ya dispongo del algoritmo para calcular la letra del NIF, y mi problema es que este suele venir en el formato 1234567-L, ¿cómo puedo separar los números del NIF, de la letra de control de tal manera que pueda utilizar los números para calcular la letra y verificar que está correcto?

Bien supongamos que tenemos en la columna A los números de NIF en el formato 1234567-L y en la columna B queremos extraer los números para el cálculo y en la columna C la letra para la comprobación. Para extraer los números de la celda que contiene el NIF podemos utilizar: En B2 =IZQUIERDA(A2;HALLAR("-";A2)-1) (estando en A2 el NIF 1234567-L) el resultado será 1234567. Para extraer la letra del NIF podemos utilizar: En C2: =DERECHA(A2;LARGO(A2)-HALLAR("-";A2)) de tal forma que nos extraerá la letra L. Estas dos fórmulas funcionan cualquiera que sea la longitud del NIF. Ahora podríamos comprobar si el NIF es correcto con un condicional del tipo: =SI(C2=AlgoritmoNIF(B2);"";"NIF no valido") Siendo AlgoritmoNIF() la formula del calculo del NIF. Este sistema de extracción es útil cuando se dispone de entradas alfanuméricas con un formato definido, es decir por ejemplo referencias de productos que se componen de varios dígitos y números o letras de control separados por un guión. Carlos Sáez

Combinación de celdas.

Estoy realizando unas listas de personal y he separado en tres columnas diferentes el nombre, primer apellido y segundo apellido de los empleados. ¿Hay alguna forma de combinar el contenido de las tres celdas para que en una celda me devuelva el nombre completo?

Para combinar dos o más celdas se utiliza el carácter "&" (ampersand) así si en la celda A2 estuviese el nombre, en la celda B2 estuviese el primer apellido y en C2 el segundo apellido, la siguiente fórmula combinaría las tres celdas con un espacio entre cada una. =A2 & " " & B2 & " " & C2 También es posible utilizar la función CONCATENAR. La fórmula anterior quedaría: =CONCATENAR(A2;" ";B2;" ";C2) Carlos Sáez

Arrancar con una hoja.

Tengo una determinada hoja de cálculo que utilizo todos los días y quiero que aparezca cada vez que arranque la aplicación. ¿Qué es lo que tengo que hacer? Hasta ahora el método que he utilizado es dejar caer el icono del archivo sobre un acceso directo de Microsoft Excel que tengo en el escritorio. Mi versión de Microsoft Excel es la 7.0 para Windows 95.

La forma más fácil de iniciar Microsoft Excel con una o varias hojas, es colocar las mismas en el directorio Iniciar. Dicho directorio estará (si la instalación se realizó en el disco C) en el directorio C:\Msoffice\Excel\Iniciar. Otra opción posible es modificar el acceso directo a Microsoft Excel de la siguiente manera: Seleccionamos el icono de acceso directo de Microsoft Excel, para ello buscamos en el directorio C:\Windows95\Menu Inicio\Programas. Abrir el cuadro de dialogo propiedades, bien haciendo click con el botón derecho del ratón y abrir la pestaña propiedades, o bien una vez selecciona el icono pulsar Alt+Intro. En ruta de acceso aparecerá C:\MsOffice\Excel\Excel.exe Se pueden añadir los siguientes parámetros: - Para iniciar Microsoft

27

TRUCOS Y PREGUNTAS DE EXCEL Y WORDExcel abriendo un libro determinado, escriba el nombre del archivo. - Para iniciar Microsoft Excel y que no aparezca el libro blanco por defecto, poner el parámetro /e. Si en la carpeta Iniciar existe un libro (este blanco o no) Excel no tendrá en cuenta el parámetro /e y arrancara con archivo presente. - Para iniciar Excel especificando una carpeta de trabajo utilizar /p seguido de un espacio más la ruta de acceso. - Iniciar Microsoft Excel con un archivo en modo solo lectura utilizar el parámetro /r seguido de un espacio y ruta de acceso y nombre del archivo. Carlos Sáez

Problema con idioma de macros en EXCEL 5.0 .

Cuando comienzo un libro en EXCEL, si grabo macros en módulo Visual Basic, éstas son registradas en inglés, y yo deseo que lo sean en español. Si por el contrario abro un libro ya existente, en el que las macros fueron grabadas en español (en otro PC, no en el mío), y grabo nuevas macros (no escribiendo el código, sino usando el modo automático) entonces éstas están escritas en español, luego en mi EXCEL tengo las librerías necesarias para escribir macros en español. Parece que todo consiste en definir qué librería de Visual Basic ha de ser utilizada. He intentado un par de cosas, pero he fracasado estrepitosamente.

Antes de empezar a crear una macro, deberemos de ir al menú: Herramientas;Opciones;General;Módulo, y en el cuadro combinado u opción desplegable que hace referencia al idioma, deberemos indicarle, Español/España. De esta forma, al empezar a grabar una macro, lo hará en este idioma. ServicioHelpDesk - 902 100 888 - www.helpdesk.nu

Macros en Office 97.

Necesito saber si puedo activar una macro creada con Excel 97 nada más abrir el libro de trabajo. Trabajo con Multibase de Transtools y ciertos listados grandes los paso a un fichero ASCII que edito con Excel 97. He creado una macro que la tengo que activar y que me hace el trabajo de edición. Pero no puedo conseguir que una vez llamado Excel 97 con un libro en concreto que es el que posee la macro se active sin ninguna intervención por parte del usuario.

Para que una macro se ejecute al abrir un libro de trabajo o un archivo del Excel ya creado, deberemos crear y guardar esa macro en el propio archivo y darle el nombre AUTO_OPEN(). Un ejemplo sería: Sub auto_open() MsgBox "Mensaje de Inicio" End Sub ServicioHelpDesk - 902 100 888 - www.helpdesk.nu

Word

Pegar planillas en Word .

Tengo una planilla Excel de más de veinte columnas que quiero pegar en un documento de Word. Sin embargo, no importa qué opciones use, el documento muestra solamente unas catorce columnas. La planilla debe quedar vinculada dinámicamente al documento de modo que, al modificarse la planilla, se modifique también su imagen en el documento.

En principio, la forma de vincular una planilla Excel en un documento de Word es mediante la opción de pegado especial: 1. Seleccionamos en Excel el rango de la planilla a vincular. 2. Tomamos las opciones EdiciónoCopiar (o usamos cualquiera de sus atajos). 3. Vamos al documento de Word. 4. Tomamos las opciones EdiciónoPegado especial. Aparece un cuadro con

28

TRUCOS Y PREGUNTAS DE EXCEL Y WORDdistintas opciones de pegado. 5. Marcamos las opciones Hoja de cálculo de Microsoft Excel Objeto y Pegar vínculo. 6. Hacemos un clic en Aceptar. Ahora el documento mostrará la planilla Excel. Además, el vínculo será dinámico: si se modifica la planilla desde Excel, se modificará en consecuencia la imagen pegada en el documento. Pero, tal como indica, este comando tiene una limitación: las planillas demasiado anchas aparecen cortadas, mostrando solamente algunas columnas. La limitación no tiene que ver con la cantidad de columnas sino con la cantidad de caracteres: la planilla no muestra más que unos ciento cincuenta caracteres. La solución al problema consiste, por lo tanto, en reducir el ancho de las columnas desde Excel. Para un ancho de seis espacios pueden visualizarse correctamente unas veinticinco columnas. Por supuesto, la tipografía deberá reducirse en consecuencia para que los datos no aparezcan truncados. Claudio H. Sánchez

Selección múltiple de texto en Word.

¿Cómo puedo realizar una selección múltiple de texto? Es decir, mi idea es copiar fragmentos de párrafos diferentes de una sola vez.

Para realizar una selección múltiple en Word debe seleccionar el texto que requiera (bien con el ratón, bien con el teclado usando la tecla de MAY), y después mantener pulsada la tecla CTRL mientras realiza las siguientes selecciones. Comprobará que Word mantiene de color inverso las zonas que va seleccionando. Luego sólo debe pulsar el botón derecho del ratón y elegir Copiar en el menú despegable para tener una copia en el portapapeles de su selección múltiple. José Ramón Corrales

Incrustar fuentes en Word .

Trabajo con Microsoft Word en la tesis de mi carrera. Para ello uso fuentes TrueType que he descargado de Inet y dan un aspecto muy vistoso al trabajo, pero, al llevar mi documento a otro equipo se pierden las fuentes. ¿Hay alguna forma de solucionar esto?Juan José Guadalupe

Al seleccionar Guardar como, pulse en el menú Herramientas, y después en Opciones al grabar. Una vez se haya desplegado la ventana de opciones, seleccione Incrustar fuentes TrueType. Con esto se incluirán las fuentes que haya usado en el propio documento, por lo que al copiar el archivo a otro equipo debería verse correctamente. Una nota al usar este sistema: el tamaño del archivo crece según el tamaño de las fuentes añadidas, por lo que puede ser un problema si necesita grabarlo en algún formato de poca capacidad (por ejemplo un disquete). José Ramón Corrales

Ubicación de plantillas de Microsoft Word .

He creado unas plantillas para ser utilizadas en la empresa donde trabajo y ahora quiero crear un programa de instalación que coloque en una carpeta las plantillas para ser utilizadas. Esa carpeta debe ser la que utiliza Word para colocar sus plantillas. El problema radica en que con Word 2000 esta carpeta varía en función de si se tiene instalado Windows Me o Windows 2000. Mi pregunta es la siguiente: ¿Existe alguna forma de saber cuál es la carpeta que está utilizando Word para colocar las plantillas? Ya que esta información aparece cuando accedemos al comando Opciones del menú Herramientas y accedemos a la opción Ubicación de archivo·Carpetas personales. Desearía que me ayudaran a terminar mi proyecto.

Tal y como usted indica, la localización de las plantillas de Office 2000 depende de la versión de Windows instalada. Concretamente, y suponiendo que el directorio de instalación de Windows es C:\WINDOWS, las versiones:- 95, 98 y NT 4.0 la ubican en C:\Windows\Application Data\Microsoft\Plantillas a no ser que tengan perfiles activados, en cuyo caso sería en C:\Windows\Profiles\nombre_de_usuario\Application Data\Microsoft\Plantillas.- Windows 2000 en C:\Windows\Profiles\nombre_de_usuario\Application Data\Microsoft\Plantillas

29

TRUCOS Y PREGUNTAS DE EXCEL Y WORDo en C:\Documents and Settings\nombre_de_usuario\Application Data\Microsoft\Plantillas.Podríamos pensar que en el registro de Windows hay una entrada que especifica la localización exacta de la carpeta Plantillas. Con lo cual, leyendo el valor de esta entrada sabremos dónde se almacenan independientemente de la versión de Windows instalada. Y efectivamente así es: las plantillas del usuario en la clave UserTemplates y las plantillas de trabajo en grupo en la clave SharedTemplates, ambas almacenadas bajo la clave del registro HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Common\General. Sólo hay un problema: que estas cadenas se generan siempre y cuando el usuario cambie la ubicación por defecto de las plantillas. En caso contrario sencillamente no existen, dado que Office sabe perfectamente cuál es su localización y no queda más remedio que recurrir al Visual Basic de Word para averiguarla, concretamente a la propiedad DefaultFilePath.Por ejemplo, la instrucción siguiente devuelve la ruta de acceso a las plantillas del usuario: Options.DefaultFilePath(wdUserTemplatesPath).Rodolfo de Benito

Selección de texto en vertical en Word.

Me gustaría saber cómo seleccionar texto en vertical en lugar de horizontal.

El modo seleccionar en vertical es muy útil pero a la vez poco conocido entre los usuarios de Microsoft Word. Para usarlo, simplemente pulse la tecla ALT, y manténgala pulsada mientras selecciona con el botón izquierdo del ratón el área rectangular que desea copiar. Tenga en cuenta que si usa una fuente de tamaño variable no podrá seleccionar correctamente texto en lugares como tablas, por lo que es recomendable usar fuentes del tipo Courier para este propósito. José Ramón Corrales

Sangrar un párrafo con la tecla Tab.

He descubierto sin darme cuenta que cuando coloco el cursor al principio de la segunda línea de párrafo y pulso la tecla [TAB] entonces queda sangrado todo el párrafo, por muy largo que sea. Me gustaría saber algo más de esto que ahora hago corrientemente porque un día lo descubrí por casualidad.

Efectivamente, en párrafos de más de una línea, cuando se pulsa [TAB] con el cursor al comienzo de la segunda línea, automáticamente se sangra todo el párrafo. Pruebe a hacer lo mismo con el cursor situado al inicio de la tercera línea, o de la cuarta, etc. y verá que obtiene el mismo efecto, siempre que el cursor no se encuentre al inicio de todo el párrafo. Sólo en este último caso la tecla [TAB] cumple con su cometido. De igual modo, seguro que ya habrá descubierto también que, para deshacer una sangría, el procedimiento es el mismo pero a la inversa (tecla [RETROCESO], o bien [MAYUS]+[TAB]). Pues bien, esta función que su práctica diaria le ha hecho descubrir, es una de las muchas tareas que en Word 7 se han automatizado pensando en su empleo frecuente. Pero, ocurre que lo que a usted le parece cómodo y útil, a otro usuario puede disgustar, porque no es ese el efecto que buscaba. ¿Hay algún modo de anular el efecto? Pues sí, active la ventana Herramientas•Opciones, elija la pestaña Edición, y encontrará la especificación: Usar tabulación y RETROCESO para la sangría izquierda Desactive esta opción y quedará anulado el efecto referido. En general, todas las tareas automáticas o “inteligentes” de las dos últimas versiones de Word pueden anularse por idéntico procedimiento. Para descubrirlo, dedique un minuto a examinar esta ventana Herramientas•Opciones, especialmente las pestañas Edición y Autoformato. Francisco Martín Peña

Problemas con Word 97 .

Hola, soy profesor en un instituto, en la localidad Navarra de Elizondo. He leído el artículo sobre los trucos de Word 97, algunos son bastante interesantes. Desearía por favor si me pueden contestar a las siguientes dudas (utilizo Word 97). 1.- Como puedo hacer una nota a pie de página trabajando con columnas. 2.- He observado

30

TRUCOS Y PREGUNTAS DE EXCEL Y WORDque en determinados momentos el programa se pone a parpadear y no encuentro una lógica. 3.- Por qué el cursor desaparece del procesador de textos.

Para añadir notas al pie de página trabajando con columnas, debe tener en cuenta que cada columna dispone lógicamente de su propio pie y que por lo tanto, cada nota se refleja en su correspondiente pie de columna. Los problemas del parpadeo y del cursor están relacionados con el corrector gramatical. La constante revisión de frases, a veces complejas, produce ese molesto parpadeo. Existen varias formas de evitarlo. Normalmente el parpadeo se produce por un subrayado en una o varias palabras que aun no se han corregido. Si no desea corregir la advertencia de Word pulse el botón derecho sobre la palabra subrayada y seleccione la opción Omitir oración. Otra posibilidad sería desactivar la opción Revisar ortografía mientras escribe que se encuentra dentro de la opción Herramientas;Opciones;Ortografía. Posteriormente corrija el documento por el sistema tradicional. Finalmente, puede seleccionar el texto que puntualmente produce el parpadeo y dentro de la opción Herramientas;Idioma;Definir Idioma, indique la primera opción de la lista, denominada (no revisar). Toni Martí Sevilla

Número de factura variable al imprimir

Tome las opciones Herramientas/Macro/Editor de Visual Basic. Se abrirá eleditor, que es un programa aparte.Dentro del editor, tome las opciones Insertar/Módulo. Se creará una hojaespecial (hoja "de módulo") donde se escribe la siguiente macro:

Sub Facturas()For i = 1 to 100    [G1] = i    ActiveWindow.SelectedSheets.PrintOut Copies:=1NextEnd Sub

Cierre entonces el editor y vuelva a Excel.

Dentro de Excel, tome las opciones Herramientas/Macro/Macros.Seleccione la macro Facturas.Clic en Ejecutar.

31