Preguntas y Rtas Excel

Embed Size (px)

Citation preview

Preestablecer la configuracin del men y opciones de Excel

TRUCOS Y PREGUNTAS DE EXCEL Y WORD

3Preestablecer la configuracin del men y opciones de Excel.

3Buscar y contar en una tabla Excel empleando ms de un criterio.

4Bloquear macros.

4Excel en la web.

4Convertir a valores .

4Quitar hipervnculos.

5Indicadores en grficos.

5Copiar formatos de hojas.

5Eliminar vnculos.

6Maysculas automticas .

6Promedio ponderado.

7Limitar el movimiento de cursor.

7Quitar hipervnculos.

7Excel en la web.

8Convertir a valores .

8Eliminar macros.

8Errores en fechas .

9Envo de planillas por correo electrnico .

9Libros vinculados en Excel 97 con contrasea de apertura .

10La edad exacta en Access .

10Suma instantnea .

11Acelerar macros.

11Suma de horas.

11Proteccin contra escritura en Excel.

11Cntimos exactos.

12Bsqueda en tablas.

12Nombre del usuario en Excel.

13Sealar repetidos.

13Das hbiles.

14Validar contenido de una celda en Excel.

14Configuracin de la puntuacin.

14Cntimos en letras.

15Cdigo de barras.

15Captura de datos en Excel.

16Diferencias entre tiempos.

16Proteger macros.

17Compartir libros en Excel.

17Libros de Excel corruptos.

17Convirtiendo nmeros a letras en Excel.

18Borrado automtico de datos y copia a otra hoja.

19Funciones personalizadas en Excel.

19Transponer celdas.

20Excel y HTML.

20Formato de horas en Excel.

20Lentitud al cerrar los libros en Excel.

21Insertar automticamente saltos de pgina al cambiar el valor en una columna de datos.

21Quitar contraseas Excel y problemas al Guardar.

22Ocultar una fila en una macro de Excel.

22Problema con la funcin BUSCARV.

22Macro para ingresar datos automticamente.

23Extender el uso de una macro a todas las hojas.

23Error al entrar en Excel 2000.

24Anlisis de frecuencias sobre texto en Excel.

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

25Conversin de nmeros a euros en Excel.

25Operacin en todas las celdas de Excel .

25Proteccin de Hojas.

26Inclusin de texto en clculos .

26Problemas con las notas.

27Cmo puedo hacer que se busque un valor en una tabla de datos?.

27Macros de Excel en diferentes idiomas.

28Separacin de cadenas.

28Combinacin de celdas.

28Arrancar con una hoja.

29Problema con idioma de macros en EXCEL 5.0 .

29Macros en Office 97.

29Word

29Pegar planillas en Word .

30Seleccin mltiple de texto en Word.

30Incrustar fuentes en Word .

30Ubicacin de plantillas de Microsoft Word .

31Seleccin de texto en vertical en Word.

31Sangrar un prrafo con la tecla Tab.

32Problemas con Word 97 .

Error! Marcador no definido.La funcin =SI( )

Error! Marcador no definido.Ejemplo de factura

Preestablecer la configuracin del men y opciones de Excel.

Se pueden proteger las posibilidades de visualizacin de una hoja, de acuerdo a ciertas limitaciones? Por ejemplo sin encabezados de fila, columna, barras de desplazamiento, barra de frmulas, etc. Tambin podra aplicarse a cualquier barra de herramientas, e incluso a los mens 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 InicioProgramasMicrosoft Office ToolsMicrosoft Office XP Resource Kit ToolsSystem Policy Editor. Una vez en el editor, si desea definir las directivas para un usuario local u ordenador local, seleccione en el men FileOpen Registry y realice un doble clic sobre Local computer o User computer, segn corresponda. Seguidamente y segn 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 (vase imagen adjunta). Una vez definidas las directivas ejecute en el men FileSave, FileClose y cierre el editor. Para aquellos ordenadores miembros de un dominio, si no desea establecer localmente estas directivas, tambin puede emplear el System Policy Editor de la manera siguiente: 1. Cree un nuevo archivo (FileNew 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 inters, por ejemplo en Default User. 3. Una vez definido el archivo conteniendo las directivas, gurdelo en la carpeta NetLogon con el nombre de CONFIG.POL o NTCONFIG.POL, segn sea para utilizarlo con Windows 98 o Windows 2000 respectivamente. Cuando el usuario se conecte a la red, Windows consultar el archivo de polticas almacenado en el recurso compartido NetLogon y usted habr conseguido su propsito. Rodolfo de Benito

Buscar y contar en una tabla Excel empleando ms de un criterio.

Cmo puedo buscar en una tabla informacin y contar cuantas veces est de acuerdo a dos o ms criterios de bsqueda?Para contar aquellos registros de una tabla Excel que obedecen a ms de un criterio, puede emplear la funcin BDCONTARA; vemoslos con un ejemplo. Suponga una lista de datos con tres columnas: Cdigo Mdico, Especialidad y Poblacin. Se pretende contar el nmero de mdicos de una especialidad y poblacin concreta, por ejemplo, Pediatra y Sevilla. Para ello es necesario escribir en la hoja de clculo el nombre de ambos campos, Especialidad y Poblacin (igual que aparecen en la lista de datos) en celdas consecutivas y, bajo stas, teclear Pediatra y Sevilla respectivamente (vase imagen adjunta). Ahora slo queda introducir la funcin en la celda dnde se desee obtener el resultado de esta cuenta; la funcin sera 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, razn por la cual en los argumentos de la funcin 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, slo uno, que cumpla ms de un criterio, puede emplear la funcin BDEXTRAER. Por ejemplo y basndonos en el supuesto anterior, =BDEXTRAER(A1:C12;"Cdigo Mdico";E3:F4) localiza el cdigo de mdico correspondiente a la especialidad Pediatra y la poblacin Sevilla. Como puede ver, el segundo argumento corresponde al nombre del campo que pretende localizarse y los otros dos argumentos son idnticos a los de la funcin BDCONTARA explicada anteriormente. Rodolfo de Benito

Bloquear macros.

Tengo un sistema en Excel formado por una macro principal que llama, a su vez, a otras macros. Querra, de alguna forma, bloquear u ocultar esas otras macros, para que el usuario solamente pueda ejecutar el sistema desde la macro principalEn 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 cdigo anteponiendo la clusula Private en la definicin de la macro. Por ejemplo: Private Sub Imprimir() ... ... End Sub Esto le da a la macro el carcter "privado" y no aparecer en la lista de macros de la planilla. Solamente podr ser ejecutada cuando es llamada desde otra macro. Claudio H. Snchez

Navegar con el teclado en libros multihoja.

Soy de las que prefieren usar el teclado antes que el ratn. He aprendido a seleccionar un rango manteniendo apretada la tecla Maysculas y a llamar al men de formato de las celdas con la combinacin de la tecla Control y el nmero 1. Hay alguna tecla oOprimiendo la combinacin de teclas Control+Av Pg se pasa a la siguiente hoja. La combinacin Control+Re Pg pasa a la hoja anterior. Otras dos combinaciones tiles son Alt+Av Pg y Alt+Re Pg que desplazan el cursor una pantalla (aproximadamente ocho c

Excel en la web.

Pueden recomendarme alguna pgina web donde pueda obtener informacin sobre Visual Basic y programacin de macros en Excel?Por supuesto, existen en internet muchas pginas dedicadas a Excel, en todos los niveles. De todas ellas, recomendamos The Spreadsheet Page (www.j-walk.com/ss). Podemos decir que esta pgina 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 da, antes de actualizar las cotizaciones, necesito fijar los resultados del da anterior para que no se recalculen. Cul es la forma mExiste en Excel la opcin de "pegar valores" que copia en una celda el resultado de una frmula, y no la frmula propiamente dicha. Por ejemplo, supongamos que en la celda A10 tenemos la frmula =SUMA(A1:A9). Si queremos guardar el resultado de esta suma

Quitar hipervnculos.

Tengo una base de datos que incluye direcciones de correo electrnico. Cada vez que escribo una direccin, Excel la convierte en un hipervnculo, lo que no quiero que suceda. Puede evitarse la conversin?En principio, Excel convierte en un hipervnculo a direccin de correo electrnico cualquier dato que incluya el smbolo @. En Excel XP la conversin automtica puede evitarse siguiendo estos pasos: 1. Tomamos las opciones HerramientasOpciones de Autocor

Macros autoejecutables.

Cmo puedo hacer que una macro se ejecute automticamente al abrir una planilla?Para que una macro se ejecute en forma automtica 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 automticamente al cerrar la planilla que la contiene. Claudio H. Snchez

Indicadores en grficos.

Cmo puedo sealar un valor en un grfico, destacndolo de los dems?En principio, en un grfico pueden insertarse objetos (por ejemplo, autoformas) a modo de indicadores que sealen cualquier punto del mismo. Pero esto implica un riesgo: si cambia la escala o el tamao del grfico, el indicador quedar descolocado. Una mejor opcin consiste en usar como indicador los rtulo de datos: 1. Seleccionamos el grfico. 2. Tomamos las opciones GrficooOpciones de grfico. 3. Seleccionamos la ficha Rtulos de grfico. 4. Marcamos la opcin Valor. 5. Hacemos un clic en Aceptar. Ahora eliminamos todos los rtulos, excepto el correspondiente al punto que se quiera sealar: 6. Hacemos un clic sobre uno de los rtulos a eliminar. Aparecern puntos de agarre en todos los rtulos. 7. Hacemos un segundo clic sobre el mismo punto. Los puntos de agarre aparecern solamente en el rtulo actual. 8. Oprimimos la tecla Suprimir. Esto elimina un rtulo del grfico. Repetimos el procedimiento con todos los rtulos hasta dejar solamente el que se quiera sealar. Este rtulo restante puede modificarse seleccionndolo con tres clics separados (no triple clic). Entonces podremos escribir cualquier texto dentro del rtulo. Este rtulo modificado ser mvil, en el sentido de que acompaar al punto si cambian la escala o los valores del grfico. Claudio H. Snchez

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 rpidamente todos los formatos?Hasta la versin 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 (tipografa, estilos numricos, 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 EdicinoMover o copiar hoja. Aparece un cuadro con opciones de copiado. 2. Marcamos la opcin Crear una copia. 3. Hacemos un clic en Aceptar. La nueva hoja ser idntica 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 botn con opciones de pegado. Una de esas opciones es Mantener ancho de columnas de origen. No existe, en cambio una opcin equivalente para las alturas de fila. Claudio H. Snchez

Eliminar vnculos.

Cada vez que abro cierta planilla muy compleja Excel me advierte que hay vnculos. Aunque creo haber eliminado todos los vnculos, el mensaje de advertencia contina apareciendo. Puedo ignorar el mensaje, pero es muy molesto. Hay alguna forma de eliminar esos vnculos?Este es uno de los problemas ms irritantes que se les presenta a los usuarios avanzados de Excel: los "vnculos fantasmas". En general, un vnculo es una referencia, dentro de una frmula, a una celda de otra planilla. Por ejemplo, la frmula ='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 vnculo y preguntar si se quieren actualizar o no los valores. Sin embargo, y tal como dice el lector, puede haber vnculos de otro tipo tales como nombres de rango o grficos que tomen datos de otras planillas. Estos vnculos son ms difcil de descubrir, como no sea buscndolos uno por uno. Si estamos seguros de que los vnculos ya no son necesarios, podemos eliminarlos: 1. Tomamos las opciones EdicinVnculos. Aparece un cuadro con la lista de vnculos. 2. Hacemos un clic sobre el vnculo a eliminar. 3. Hacemos un clic en el botn Romper vnculo. La opcin Romper vnculo es una novedad de Excel XP. En versiones anteriores podemos usar el botn Cambiar origen para vincular la planilla consigo misma. Claudio H. Snchez

Maysculas automticas .

He creado una planilla en la que escribo nombres y otros datos tipo texto. Quiero que los datos queden escritos en letras maysculas independientemente de cmo hayan sido escritos. Es posible?No existen en Excel comandos equivalentes a FormatoCambiar maysculas y minsculas de Word. Es posible realizar una conversin en forma ms bien rudimentaria combinando diversas opciones como la funcin 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 maysculas el contenido de la celda actual. Usamos para esto la funcin UCase (del ingls, upper case, maysculas) equivalente a MAYUSC. La conversin se hace solamente si el contenido de la celda actual es de tipo texto. Para controlar esta condicin usamos la funcin 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 numrico) 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 maysculas, siempre que sea un texto. La asignacin de una macro a una tecla se realiza con la instruccin Application.OnKey, seguida de dos argumentos: la tecla que recibe la asignacin 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. Snchez

Promedio ponderado.

Existe una funcin para calcular el promedio ponderado? He visto que puede hacerse con una macro. Pero debera haber un mtodo ms simple.Supongamos que, despues de analizar una poblacin, 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 clculo en Excel supongamos que en el rango A1:A4 est la cantidad de familias (llamados, en este caso, coeficientes de ponderacin) y en B1:B4 estn los valores a promediar. El promedio ponderado se obtiene con =SUMAPRODUCTO(A1:A4;B1:B4)/SUMA(A1:A4) La funcin 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 expresin anterior, la funcin SUMA calcula la cantidad de familias censadas. Claudio H. Snchez

Limitar el movimiento de cursor.

Debo escribir datos en una tabla de diez filas y seis columnas. Cmo puedo hacer para que, despues de escribir el ltimo dato de una columna, el cursor pase automticamente a la primera fila de la columna siguiente?Este problema puede resolverse por una macro que mueva el cursor a la posicin correcta, tras escribir cada dato. Una solucin ms simple consiste en seleccionar previamente el rango que ocuparn 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. Snchez

Quitar hipervnculos.

Tengo una base de datos que incluye direcciones de correo electrnico. Cada vez que escribo una direccin, Excel la convierte en un hipervnculo, lo que no quiero que suceda. Puede evitarse la conversin?En principio, Excel convierte en un hipervnculo a direccin de correo electrnico cualquier dato que incluya el smbolo @. En Excel XP la conversin automtica puede evitarse siguiendo estos pasos: 1. Tomamos las opciones HerramientasOpciones de Autocorreccin... 2. En la ficha Autoformato mientras escribe, desmarcamos la opcin Rutas de red e Internet por hipervnculos. 3. Hacemos un clic en Aceptar. Esta opcin no existe en las versiones de Excel anteriores a XP. Lo mejor que puede hacerse en esos casos es revertir la conversin inmediatamente despus de producida: segn se da entrada al dato, oprimimos la combinacin Control+Z, equivalente a las opciones EdicinDeshacer. Claudio H. Snchez

Navegar con el teclado en libros multihoja.

Soy de las que prefieren usar el teclado antes que el ratn. He aprendido a seleccionar un rango manteniendo apretada la tecla Maysculas y a llamar al men de formato de las celdas con la combinacin de la tecla Control y el nmero 1. Hay alguna tecla o combinacin de teclas para pasar de una hoja a otra en un libro de muchas hojas?Oprimiendo la combinacin de teclas Control+Av Pg se pasa a la siguiente hoja. La combinacin Control+Re Pg pasa a la hoja anterior. Otras dos combinaciones tiles son Alt+Av Pg y Alt+Re Pg que desplazan el cursor una pantalla (aproximadamente ocho columnas) hacia la derecha y hacia la izquierda, respectivamente. Estas combinaciones cumplen la misma funcin que cumpla la tecla TAB en antiguas planillas de clculo. Claudio H. Snchez

Excel en la web.

Pueden recomendarme alguna pgina web donde pueda obtener informacin sobre Visual Basic y programacin de macros en Excel?Por supuesto, existen en internet muchas pginas dedicadas a Excel, en todos los niveles. De todas ellas, recomendamos The Spreadsheet Page (www.j-walk.com/ss). Podemos decir que esta pgina es el portal de Excel en internet. Contiene trucos, ejemplos, resea de libros y una importante lista de vnculos a otras pginas afines. Claudio H. Snchez

Convertir a valores .

He creado una planilla donde se calculan diariamente los rendimientos de ciertas inversiones de bolsa. Al comenzar el da, antes de actualizar las cotizaciones, necesito fijar los resultados del da anterior para que no se recalculen. Cul es la forma ms simple de hacer esto?Existe en Excel la opcin de "pegar valores" que copia en una celda el resultado de una frmula, y no la frmula propiamente dicha. Por ejemplo, supongamos que en la celda A10 tenemos la frmula =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 EdicinoCopiar (o usamos cualquiera de sus atajos). 3. Seleccionamos la celda A11, donde queremos guardar el resultado. 4. Tomamos las opciones EdicinoPegado especial. Aparece un cuadro con distintas opciones de pegado. 5. Marcamos la opcin 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 botn Pegar, a la derecha del resultado aparecer un botn 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 frmula, un procedimiento muy rpido consiste en oprimir, sucesivamente, las teclas F2 y F9. Claudio H. Snchez

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. Cmo 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 podran ser un virus de macro. Este mensaje aparece aun cuando eliminemos las macros de la planilla con las opciones HerramientasMacroMacrosEliminar, porque persistir la hoja de mdulo donde estaba escrito el cdigo de las macros. Es necesario eliminar esta hoja:1.- Tomamos las opciones HerramientasMacroEditor de Visual Basic. Se abrir el editor, que es un programa aparte.2.- Dentro del editor, tomamos las opciones VerExplorador 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 Mdulo1 (o el nombre que corresponda).4.- Tomamos las opciones ArchivoQuitar Mdulo1. El programa mostrar un mensaje invitando a exportar el mdulo. 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 refera el lector. Claudio H. Snchez

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 expresin como una frmula. A qu se debe esto y cmo 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 tradas por la planilla desde su programa original:1.- Tomamos las opciones HerramientasOpciones y seleccionamos la ficha Transicin.2.- Desmarcamos la opcin Introduccin de frmulas para transicin. 3.- Hacemos un clic en Aceptar.En este contexto la palabra transicin se refiere al proceso por el cual una planilla proveniente de otro programa pasa a ejecutarse en Excel. Claudio H. Snchez

Envo de planillas por correo electrnico .

Cmo debe ser una macro que enve la planilla actual por correo electrnico? Intent hacerla grabando la macro, pero la grabacin se interrumpe cuando el programa de correo electrnico toma el control.Hay muchas macros que no pueden crearse con las opciones HerramientasMacroGrabar nueva macro. Pero siempre puede escribirse el cdigo adecuado directamente en el editor de Visual Basic incorporado a Excel. En el caso que le preocupa, una macro que enve la planilla por correo electrnico, debe usar el procedimiento SendMail:Sub Correo () ActiveWorkbook.SendMail _ Recipients:= [email protected], _ Subject:= Lista de preciosEnd 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 electrnico est abierto. Los valores de Recipients (destinatario del envo) y Subject (asunto del mensaje) pueden ser asignados mediante variables. Para escribir esta macro:1.- Tomamos las opciones HerramientasMacroEditor de Visual Basic. Se abrir el editor, que es un programa aparte.2.- Dentro del editor, tomamos las opciones InsertarMdulo. Se abrir una ventana de texto donde escribimos el cdigo de la macro.3.- Cerramos el editor y volvemos a Excel.La macro as creada puede ejecutarse mediante el men HerramientasMacro, asignndole una combinacin de teclas o mediante un botn insertado en la planilla. Claudio H. Snchez

Libros vinculados en Excel 97 con contrasea de apertura .

He realizado un libro en Excel que tiene celdas con vnculos a otros libros de Excel. Cuando abro el libro me pregunta si deseo actualizar los vnculos. El problema radica en que los libros origen de los vnculos estn protegidos por contrasea 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 vnculos 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. Tambin lo he intentado usando una macro de VBA en la apertura del libro que actualizase los vnculos usando el mtodo ActiveWorkBook.UpdateLink, pero simplemente lanza la solicitud de actualizar y no permite pasar las claves de cada libro. No he encontrado ningn mtodo con el que pueda pasar la clave de apertura del libro.En principio no hay una solucin directa para que al abrir un libro vinculado a otros protegidos con contrasea de apertura, no pida la contrasea correspondiente al actualizar los vnculos, si bien es cierto que Workbooks.Open Filename:="C:\libro.xls", password:="SuContrasea" 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 vnculos, seleccione en el men EdicinVnculos y pulse el botn Pregunta inicial. Seleccione la opcin No mostrar la alerta ni actualizar los vnculos automticos. Acepte y cierre el cuadro de dilogo Modificar vnculos.El paso siguiente es utilizar el Editor de Visual Basic para indicar a Excel que, al abrir el libro, acceda tambin a los vinculados y los cierre a continuacin. De esta manera conseguimos que se actualicen los vnculos. Seleccione en el men HerramientasMacroEditor 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 lneas 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 funcin DIR. Le recuerdo que esta funcin, utilizada como en el ejemplo, devuelve el nombre del archivo especificado entre parntesis si lo encuentra. Si no, devuelve una cadena vaca.Guarde los cambios en el editor, cirrelo y regrese al libro. Cierre tambin el libro y bralo. Si Excel le indica que el libro contiene macros pulse el botn Habilitar macros. A continuacin se ejecutar automticamente el cdigo que ha escrito con anterioridad y se abrirn y cerrarn los libros vinculados.Por supuesto, es muy que recomendable que proteja el cdigo de este libro para que el usuario no pueda ver las contraseas de los vinculados. Desde el Editor de VB puede seleccionar HerramientasPropiedades de VBA Project. En la solapa Proteccin, active la casilla Bloquear proyecto para visualizacin y establezca la contrasea que desee. Rodolfo de Benito

La edad exacta en Access .

En Excel existe la funcin SIFECHA para calcular la edad exacta en aos cumplidos. Dado que esa funcin no existe en Access, cmo puede realizarse ese clculo?Es posible crear funciones el editor de Visual Basic de Access para luego invocarlas en formularios e informes. Por ejemplo, la edad exacta en aos cumplidos puede calcularse con la siguiente funcin: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 algn campo de la tabla. Esta funcin resta simplemente el ao de nacimiento del ao actual y luego resta una unidad si an no se han cumplido los aos correspondientes al ao actual. La fecha actual se obtiene de la funcin especial Date, que devuelve la fecha del sistema. La fecha del cumpleaos se construye con DateSerial, que es la funcin equivalente a FECHA, de Excel. Year, Month, y Day extraen, de una fecha dada, el ao, el mes y el da, respectivamente.Para crear la funcin Edad:1.- Dentro de Access, tomar las opciones HerramientasMacroEditor de Visual Basic.2.- Una vez abierto el editor, seleccionar InsertarMdulo.3.- En la ventana de texto que se abre, escribir el cdigo anterior.4.- Cerrar el editor y volver a Access.Para calcular y mostrar la edad con esta funcin, se puede crear un informe dentro del cual se inserta la expresin =Edad([Nacimiento]), donde Nacimiento es el nombre del campo que contiene la fecha de nacimiento. Claudio H. Snchez

Suma instantnea .

En Excel para Mac se puede obtener el total de un conjunto cualquiera de valores escribiendo un signo ms y luego seleccionando cada una de las celdas a sumar. Existe un mtodo similar en Excel para Windows?El procedimiento equivalente involucra el botn Autosuma (la letra griega sigma, en la barra de herramientas Estndar):1.- Seleccione la celda donde se quiere colocar el total.2.- Haga un clic en el botn Autosuma.3.- Seleccione la primera celda o rango a sumar.4.- Manteniendo apretada la tecla Control, seleccione cada uno de los dems rangos o celdas.5.- Soltando Control, pulse la tecla Enter, para dar por ingresada la frmula.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. Snchez

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 poda usar la instruccin {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 ejecucin. Puede hacerse incluyendo al comienzo del cdigo de la macro la siguiente lnea:Application.ScreenUpdating = FalseAl ejecutarse esta instruccin, los cambios que la macro produzca en la planilla tendrn lugar sin que sean reflejados en la pantalla. Para restablecer el refresco de pantalla (tal es su nombre tcnico) se ejecuta la instruccin:Application.ScreenUpdating = True Claudio H. Snchez

Suma 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 clculo muestra solamente 16 horas. Es decir, las horas que exceden de das completos. Cmo puedo hacer para obtener el valor total de horas?Hagamos un pequeo 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 ms 15) sino como 9:00. Ocurre que treinta y tres horas equivalen a un da completo y nueve horas. El formato normal para datos tipo hora solamente la fraccin de tiempo menor a un da. 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 Nmero. 3.- Dentro de Categora 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. Snchez

Proteccin 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 slo lectura. De esta forma quienes la abran podrn consultar y modificar sus datos pero no podrn 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 botn Herramientas y seleccionamos la opcin Opciones generales. En Excel 97, hacemos un clic en el botn Opciones. En cualquier caso aparecer un cuadro con distintas opciones de proteccin con contrasea. 1.- Escribimos una palabra clave en Contrasea contra escritura pero dejamos en blanco Contrasea de proteccin.. 2.- Hacemos un clic en Aceptar. 3.- Excel pedir que confirmemos la contrasea. 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 slo lectura. Podr consultarla y modificar sus datos pero no sobrescribir la planilla original. Claudio H. Snchez

Cntimos exactos.

Calculo importes que luego redondeo a dos decimales. Cuando sumo varios de estos importes, la cifra de los cntimos puede presentar pequeas 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 debera ser 18,04 (9,02 ms 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 ms all de los cntimos, aunque no las muestre. Estas cifras se acumulan en la suma hasta hacerse significativas. La solucin consiste en usar la funcin REDONDEAR. Esta funcin suprime los decimales ms all de la cantidad indicada, que ya no sern tomados en cuenta para las futuras operaciones. Si suponemos que tenemos un valor en pesetas en A1, la conversin a euros y cntimos puede hacerse con la frmula =REDONDEAR(A1/166,386;2). El ltimo argumento indica que se desea redondear a dos decimales. En el caso especial de la conversin a euros, tambin puede usarse la nueva funcin EUROCONVERT. Otra vez, para un valor en pesetas en A1, su equivalente en euros y cntimos se obtiene con =EUROCONVERT(A1; ESP; EUR;0). Claudio H. Snchez

Bsqueda en tablas.

Tengo una lista de artculos con sus precios. Quiero escribir un artculo cualquiera de la lista en una celda y obtener el precio correspondiente.Este problema puede resolverse con la funcin de bsqueda en tablas, BUSCARV. Supongamos que la tabla que vincula cada artculo con su precio est en el rango A1:B10, los artculos en la columna A y sus precios en la B. Si tenemos un artculo cualquiera en C1, su precio se obtiene con la funcin =BUSCARV(C1;A1:B10;2;FALSO). Esta funcin lleva cuatro argumentos entre los parntesis: El primero es el valor de entrada, el artculo 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 ttulos, 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 estn en la segunda columna. El cuarto es el valor lgico 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 tambin una funcin BUSCARH para tablas organizadas horizontalmente, por filas. Claudio H. Snchez

De MAYSCULAS a minsculas.

Tengo Excel 2000 y me han dicho que puedo convertir las palabras maysculas a minsculas al igual que en Word. Saben cmo?No existe tal comando, al menos con la versatilidad y rapidez que ofrece Word. S puede hacerse la conversin en forma indirecta, aunque bastante engorrosa. Supongamos que tenemos una palabra escrita en maysculas en la celda A1: 1. En una celda auxiliar escribimos la funcin =MINUSC(A1). 2. Conservando seleccionada esa celda tomamos las opciones Edicin Copiar. 3. Seleccionamos la celda A1. Es decir, la que contiene la palabra original. 4. Tomamos las opciones Edicin Pegado especial. Aparece un cuadro con varias opciones de pegado. 5. Marcamos la opcin Valores. 6. Hacemos un clic en Aceptar. La opcin marcada en Pegado especial pega en la celda seleccionada el resultado de la frmula contenida en la celda original. Tal vez una prxima versin de Excel permita el cambio con una opcin simple. Claudio H. Snchez

Nombre del usuario en Excel.

Existe alguna funcin 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 informacin acerca de una planilla: CELDA e INFO. Pero ninguna de las dos admite un parmetro para conocer el nombre del usuario que est usando la planilla en un momento dado. Una funcin as sera muy til para llevar un registro de quines consultan una planilla en un entorno de red. Podemos, sin embargo, crear esta funcin. Su cdigo es el siguiente: Function Usuario() Usuario = Application.UserName End Function Esta funcin la creamos en el editor de Visual Basic incluido en Excel:1. Tomamos las opciones HerramientasMacroEditor de Visual Basic. Se abre el editor, que es un programa aparte.2. Dentro del editor tomamos las opciones InsertarMdulo. Se abre una ventana de texto en el editor.3. Dentro de esta ventana escribimos el cdigo de la funcin.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 funcin estar disponible solamente en la planilla donde la creamos. Claudio H. Snchez

Sealar repetidos.

Tengo una columna en la que escribo datos numricos. Quiero que la planilla seale de alguna manera cuando agrego un nmero ya ingresado.Supongamos que la lista de nmeros 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 frmula: =CONTAR.SI(A$1:A1;A2) Esta frmula 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 frmula debe devolver el valor cero (el nmero no se encuentra). Si el nmero ingresado en la fila actual ya est presente en la lista, la frmula 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 frmula hacia abajo, para todos los valores, el rango de bsqueda 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 sealado 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 FormatoFormato condicional. 3. En la primera opcin seleccionamos Frmula. 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 algn 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 condicin 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. Snchez

Das hbiles.

Cmo puedo calcular la cantidad de das laborables (excluyendo sbados y domingos) que median entre dos fechas dadas?Excel dispone para este clculo la funcin DIAS.LAB, que devuelve la cantidad de das que median entre las dos fechas excluyendo sbados y domingos pero incluyendo a ambas. Por ejemplo, =DIAS.LAB(21/8/2002; 27/8/2002) da como resultado cinco: de los siete das, el 24 es sbado y el 25 es domingo. Para excluir de la cuenta tambin los das festivos, la funcin admite como tercer argumento un rango donde escribimos la lista de das no laborables. En la figura adjunta puede observar un ejemplo de aplicacin de esta funcin con algunos das festivos: del 29 de abril al 10 de mayo hay dos semanas completas, o sea diez das hbiles, pero como en el medio est el primero de mayo, la funcin devuelve 9. Claudio H. Snchez

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 nmeros 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 descripcin, costo etc. en caso contrario si no existe que muestre un mensaje que diga que el numero que se ha capturado no es vlido 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 Validacin... Esta herramienta le permite aplicar un criterio de validacin a una o varias celdas para que, por ejemplo, solo permita: nmeros enteros, nmeros decimales, fechas, etc. Entre estas opciones de validacin 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 nmeros de serie en una columna. 2. Seleccione todas las celdas en las que tiene previsto introducir nmeros de serie y seleccione en el men: Datos Validacin... 3. Ver un cuadro de dilogo con tres fichas o solapas: Configuracin, Mensaje entrante y Mensaje de error. En la primera de ellas escoja en la lista desplegable Permitir la opcin Lista. 4. Y en el cuadro de texto Origen, pulse sobre el botn que lo acompaa y seleccione las celdas correspondientes a los nmeros de serie que tiene como referencia (los diez nmeros de serie). 5. En esta misma solapa ver la opcin Celda con lista desplegable, si la deja activada cada vez que vaya a rellenar la celda del nmero de serie, se desplegar una lista conteniendo los valores posibles. 6. Pulse ahora sobre la solapa Mensaje de error y asegrese que est activada la opcin Mostrar mensaje de error si se introducen datos no vlidos. Podr escoger entre tres estilos de notificacin y escribir el mensaje que desea que aparezca cuando el dato introducido no se corresponde con un nmero de serie. Una vez hecho esto pulse el botn Aceptar. Ahora pruebe el funcionamiento de este sistema introduciendo un nmero de serie que no se encuentre en la lista y ver como Excel le muestra un cuadro de aviso indicndole que los datos introducidos no son correctos. Rodolfo de Benito

Configuracin de la puntuacin.

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. Cmo hago para que los miles se separen por puntos y los decimales por comas?Este parece ser un problema de la configuracin regional de Windows, que establece los separadores, signos monetarios, formatos de fecha y otros parmetros: 1. Desde el men Inicio de Windows, tomamos las opciones Configuracin Panel de control. 2. Dentro de las opciones del panel de control seleccionamos Configuracin regional. Aparece un men con varias fichas. 3. La ficha Configuracin regional permite elegir el idioma y el pas. Indicamos espaol y Espaa, respectivamente. La fichar indicar los parmetros (separadores, signos monetarios y otros) actuales y los que corresponden a las nuevas opciones indicadas. 4. En la ficha Nmero 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 debern presentarse de acuerdo con la configuracin elegida. Claudio H. Snchez

Cntimos en letras.

He descargado la funcin ENLETRAS del sitio de PC World (www.idg.es/pcworld/listados.asp). Mi nico inconveniente es que esta funcin trabaja solamente con valores enteros. Cmo se debe modificar el cdigo para poder expresar en letras importes con cntimos?Se refiere a una funcin que da la expresin en letras de valores enteros de hasta nueve cifras, publicada en nuestra edicin 171, de diciembre de 2000. Es fcil adaptar la funcin para que admita nmeros con dos decimales. Al comienzo de la funcin, se deben incluir estas dos lneas: parte0 = 100 * (x - Int(x)) x = Int(x) De esta forma, la variable parte0 contendr los cntimos del valor a convertir mientras que x contendr solamente la parte entera. Al final de la funcin, antes de End Sub se debe incluir estas instrucciones: If parte0 > 0 Then ENLETRAS = ENLETRAS + _ " CON " + NOMBRE(parte0) End If Esta instruccin agrega la expresin en letras de los cntimos, si los hubiera. Tambin se puede usar la funcin ENLETRAS original para cifras con cntimos si se la escribe en una celda Excel como se indica en la Figura. Esta frmula concatena cuatro partes: la expresin en letras de la parte entera, la palabra CON, la cifra de los cntimos y la expresin /00. Adems del operador de concatenacin (&) la frmula usa dos funciones estndares en Excel: RESIDUO y TEXTO. RESIDUO devuelve el resto obtenido al dividir los dos valores indicados entre los parntesis. En nuestra frmula, el efecto es calcular las dos cifras centesimales. TEXTO convierte un valor numrico en texto para poder concatenarlo. Los dos argumentos son el valor a convertir y el formato con el que lo queremos obtener. La frmula de la celda B1 concatena la expresin en letras de la parte entera del importe escrito en A1 junto con la cifra de los cntimos. Claudio H. Snchez

Cdigo de barras.

Es posible, a partir de un valor escrito en una celda, obtener el cdigo de barras correspondiente?Los cdigos internacionales de barras le atribuyen a cada dgito una secuencia de lneas blancas y negras. Puede obtenerse la secuencia correspondiente a un valor dado instalando una tipografa equivalente al cdigo. Varias empresas producen y comercializan este tipo de tipografas y pueden encontrase en Internet. Por ejemplo, en el sitio www.barcodings.com. La compaa Elfring Fonts Inc. provee tipografas que dan el cdigo de barras para cualquier valor escrito en aplicaciones Windows Claudio H. Snchez

Captura de datos en Excel.

Me gustara proponer si es posible realizar una tarea concreta en Excel. La introduccin de una serie de datos consecutivos a partir de una macro. Excel dispone de la funcin MsgBox que no es la ms indicada si por ejemplo necesitsemos rellenar los campos de una Factura u otro proceso donde necesitemos introducir una secuencia ms o menos grande de nmeros u otra informacin. He podido comprobar que Excel adems no tiene Eventos a nivel de celda con lo cual no puedo crear una funcin 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 funcin ? que espera la entrada de datos hasta que se pulse Intro. Cmo poda hacer algo parecido?Vayamos por partes. Para saber en qu celda se encuentra puede emplear ActiveCell.Cells.Address que le retornar la direccin 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, podra intentar algo similar a esto: Sub Espera() Introduzca aqu su cdigo Application.OnKey "{Enter}","Sigue" Application.OnKey "~","Sigue" End Sub Sub Sigue() 'Introduzca aqu su cdigo Application.OnKey "{Enter}" Application.OnKey "~" End Sub En la macro Espera permitimos que se realice cualquier cosa en la hoja de clculo hasta que se pulse la tecla Intro. Esto lo conseguimos gracias a la instruccin Application.OnKey la cual ejecuta la macro Sigue cuando se pulsa la tecla Intro. Puesto que existen dos teclas Intro, la del teclado alfanumrico y la del numrico, y ambas tienen cdigos 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 tcnicas de un alto horno. En dos columnas escribo las horas de inicio y fin de cada detencin. Restando ambas horas obtengo el tiempo durante el cual el horno estuvo detenido. Cuando la detencin comienza cerca de la medianoche y termina al da siguiente la hora final es menor a la inicial y la resta entre ambas da un nmero negativo. Cmo calculo la duracin 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 detencin se le debe sumar 24 horas, porque corresponde al da siguiente. Por ejemplo = (B2+1)-A2. Como para Excel los datos de tipo fecha u hora se miden en das, el valor 1 que aparece sumando a B2 equivale a 24 horas. Esta correccin en el clculo de la duracin se hace solamente cuando la segunda hora es menor que la primera. En los dems casos, la duracin se calcula por resta simple. Se debe aplicar una funcin condicional SI para que se aplique una u otra frmula segn el caso. Considerando la planilla de la figura, la frmula a escribir en C2 es =SI(B2>A2;B2-A2;B2+1-A2). La funcin condicional lleva tres argumentos entre los parntesis: - El primero es la condicin, de cuyo cumplimiento o no depende el clculo que se tendr en cuenta. - El segundo es el clculo a considerar si la condicin se cumple. - El tercero es el clculo a considerar si la condicin no se cumple. En la expresin anterior, primero se evala si la hora de detencin es mayor (posterior) a la de inicio. De ser as, la duracin se calcula restando ambos valores. En caso contrario, se suma una unidad (equivalente a 24 horas) a la hora de fin. Esta frmula debe extenderse luego a toda la columna. En la figura: La frmula de la columna C resta la hora de fin de la de inicio para calcular el tiempo de detencin; pero cuando la segunda hora es menor a la primera, el resultado de la resta es negativo y se obtiene una seal de error. Claudio H. Snchez

Proteger macros.

Cmo 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 contrasea de proteccin para que su cdigo no pueda ser consultado. Esto se hace desde el Editor de Visual Basic: 1. Abrimos el editor con las opciones HerramientasMacrosEditor de Visual basic. 2. Ya dentro del editor tomamos las opciones HerramientasPropiedades de VBAProject. Aparecer un cuadro con dos hojas: General y Proteccin. 3. Seleccionamos esta ltima hoja. 4. Marcamos la opcin Bloquear proyecto para visualizacin. 5. Escribimos y confirmamos la contrasea de proteccin. 6. Hacemos un clic en Aceptar. 7. Salimos del editor y volvemos a Excel. Ahora las macros han quedado protegidas. Para que la proteccin entre en vigencia debemos grabar y cerrar el libro. La prxima vez que queramos tener acceso a los mdulos que contienen las macros, Excel nos solicitar la contrasea. En la figura, marcando la opcin Bloquear proyecto para visualizacin e indicando una contrasea podemos proteger los mdulos de un libro Excel. De esa forma, las macros del libro no podrn ser consultadas ni modificadas por quien desconozca la contrasea. Claudio H. Snchez

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 ms de una persona a la vez. Hay alguna solucin 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 podrn guardar cambios en el libro. La solucin 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 modificacin por varios usuarios a la vez situada en la ficha o solapa Modificacin. 3. Pulse sobre la ficha o solapa Uso avanzado y configrelo a tenor de sus necesidades. 4. Por ltimo pulse el botn Aceptar y guarde el libro cuando Excel se lo solicite. Si lo desea puede restringir el acceso al libro compartido mediante la opcin del men Herramientas Proteger Proteger y compartir libro. Rodolfo de Benito

Libros de Excel corruptos.

Intento abrir sin resultado un pequeo fichero de Excel creado hace 3 aos 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 aconsejis?.Su amigo est en lo cierto. Es posible que el fichero est daado 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 slo lectura, que intente obtener acceso a una ubicacin de slo 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 reparacin de archivos daados o intentar acceder a los datos de la hoja mediante una funcin. La primera opcin es muy sencilla y deja todo el trabajo al Scandisk, pero no tiene demasiadas posibilidades de xito. La segunda opcin es la ms cmoda 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 informacin sobre el programa y una versin de demostracin en la web www.officerecovery.com/excel/ y en es.excelfix.com. La tercera opcin es la que vamos a explicar en detalle. Consiste en extraer los datos del libro daado mediante frmulas que hagan referencia a cada celda de cada hoja. Veamos como: 1. Cree un libro nuevo en Excel y gurdelo en la misma carpeta en la que se encuentra el archivo daado. 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 frmula milibro por el nombre del libro daado y mihoja por el nombre de la hoja que quiera recuperar, por ejemplo [gastos.xls]Hoja1 Esta funcin evita que cuando en una celda del archivo daado est en blanco no salga un cero en la nueva hoja. 3. Extienda la frmula 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 Edicin Copiar. Sitese en la primera celda de una hoja en blanco, seleccione en el men Edicin Pegado especial, active la opcin Valores y pulse el botn Aceptar. 5. Ahora tendr dos hojas con la misma informacin y podr eliminar la primera de ellas, es decir, la que tiene en cada celda la frmula con la funcin SI. Si efecta los pasos del 2 al 5 para el resto de las hojas del libro, tendr todo el archivo recuperado. Rodolfo de Benito

Convirtiendo nmeros a letras en Excel.

Se puede de alguna manera ya sea a travs del formato de Excel o mediante alguna utilidad, cambiar el formato de un nmero 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 solucin puede ser crear un mdulo 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 funcin llamada Recibo que se encuentra en una librera dinmica y que puede llamarse fcilmente desde Excel definiendo una pequea funcin. Veamos los pasos necesario para que pueda utilizarla: 1. Descargue a una carpeta de su disco duro el archivo E10467.EXE en la direccin: 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 librera dinmica que contiene la funcin Recibo y el segundo en un archivo de Word con las instrucciones para utilizar en Excel la funcin. 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 conversin de nmeros a letras, inserte un nuevo mdulo de Visual Basic. En Excel 2000 puede hacerlo mediante el men Herramientas Macro Editor de Visual Basic. y a continuacin ejecutando en este editor el comando Insertar Mdulo. 4. Escriba el cdigo siguiente en el mdulo: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 funcin en la hoja de clculo en la que ha definido la funcin escribiendo =letra(Nmero). Siendo Nmero un valor numrico o una referencia a una celda que contenga un nmero. Por ejemplo: =letra(5677899) o =letra(C2) o tambin En el archivo de Word E10467.DOC, encontrar la forma de utilizar esta funcin desde cualquier hoja de clculo sin necesidad de definirla nuevamente. Rodolfo de Benito

Borrado automtico de datos y copia a otra hoja.

Quisiera saber cual sera el procedimiento para que al rellenar unos datos en una hoja de clculo, stos automticamente se borrasen y pasasen a otra hoja o base de datos para continuar introduciendo ms datos.La solucin que le propongo utiliza Excel 2000 y consiste en dos hojas, una denominada Entrada de datosen la que se introducen los datos siguientes: nombre, apellidos, edad y pas. Y otra denominada Base de datos en la que van almacenndose 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 pulsacin de un botn 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 botn en la primera hoja, puede utilizar la barra de herramientas Formularios (seleccionado en el men VerBarras de herramientasFormularios) y pulsar en el control Botn. Seguidamente determinar las dimensiones y posicin del botn dibujndolo en la hoja.. Una vez dibujado aparece un cuadro de dilogo en el que pulsar el botn Nuevo para indicarle que va a asociarle una macro de nueva creacin. Al realizar esta operacin se abrir el editor de Visual Basic y podr copiar el cdigo de la macro entre las instrucciones Sub Botn_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 carcter . Sub Botn_AlHacerClic() Seleccin de las celdas A2:D2 Range("A2:D2").Select Copia de la seleccin Selection.Copy Activacin de la hoja Base de datos Sheets("Base de datos").Select Bsqueda de la primera fila libre fila = 2 Do While ActiveSheet.Cells(fila, 1).Value Empty fila = fila + 1 Loop Activacin 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 botn introduciendo datos en la primera hoja y pulsndolo. 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 apilarn formando una lista en la segunda hoja.. Rodolfo de Benito

Funciones personalizadas en Excel.

Cmo puedo realizar una funcin en Excel 97, de forma que tecleando =mediapond(a1:b5), me devuelva la media ponderada? . La funcin tiene que servir para cualquier rango de celdas y mi problema es que no se cmo tratar ese rango que se pasa como argumento de la funcin. He consultado varios libros, distintos foros en Internet y no he conseguido la solucin. Muchas gracias.Su problema puede resolverse fcilmente si define la funcin siguiente en un mdulo :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 funcin multiplica los elementos de cada fila y almacena su suma en la variable n. Adems, 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 funcin dividiendo n entre denominador. Como puede ver en el cdigo la variable rango se ha definido como tipo Range y contiene el rango de celdas seleccionado para calcular la funcin. Para acceder a los elementos del 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 clculo almacenados verticalmente y me gustara pasar estos datos a otra parte de la hoja pero en disposicin horizontal . Estuve consultando las frmulas de Excel y la que ms 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 EdicinCopiar utilizando, por ejemplo, el men 3.- Sitese en la parte de la hoja dnde desee situarlos datos en disposicin horizontal. En concreto pulse sobre la celda a partir de la cual se van a colocar los datos. 4.- Ejecute el mandato EdicinPegado especial y active la opcin Transponer. 5.- Pulse el botn Aceptar. Una vez realice estos pasos habr conseguido su objetivo. Rodolfo de Benito

Excel y HTML.

Desde una aplicacin genero pginas HTML bsicas que luego deben ser ledas en Excel y Word. En el caso de Excel, he comprobado que cambiando la extensin del fichero de .htm a .xls presenta sin problemas la informacin, si esta se trata de tablas, filas y celdas. Sin embargo, si la pgina incluye una imagen mediante etiquetas tipo , Excel la ignora y no muestra la imagen. La pgina est bien formada y tanto Word como cualquier navegador la presentan perfectamente. Existe alguna manera de que Excel muestre imgenes al leer ficheros HTML?La cuestin no es que su navegador pueda presentar bien la pgina. La cuestin es si su versin de Excel est preparada para visualizarla correctamente. Por lo que plantea, todo apunta a que usted utiliza Microsoft Excel 97. Esta versin 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 estn soportadas. En esta situacin estn: 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 imgenes presentes en un archivo HTML, pues si, el problema est resuelto en Excel 2000. ste es capaz de visualizar el contenido de una pgina Web sin demasiados contratiempos. Rodolfo de Benito.

Formato de horas en Excel.

Existe alguna forma de ingresar slo 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 da 13 en lugar de tomarlo como una hora. Es necesario que lo considere como hora, ya que se utiliza en un clculo.Me temo que no es algo que pueda solucionarse con el formato. Voy a proponerle dos alternativas. La ms rpida 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 nmero dos es utilizar una frmula que transforme un nmero en una hora. La formula le permitira transformar 13 en 13:00 y tambin tendra en cuenta los minutos transformando 13,30 en 13:30. Suponga que en la celda A1 de la hoja de clculo tiene el nmero 13, pues si en la casilla donde quiere obtener la hora introduce la frmula =NSHORA(ENTERO(A1);100*(A1-ENTERO(A1));0) conseguir que se transforme el nmero en hora. Como puede ver la funcin NSHORA trabaja con tres argumentos: el primero es la hora que lo obtenemos de la parte entera del nmero, el segundo son los minutos, que conseguimos multiplicando por cien la diferencia entre el nmero 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 algn tiempo tengo el siguiente problema: al cerrar libros y hojas de MS Excel (no importa el tamao de stas), se ralentiza, tardando muchsimo en hacerlo (ms de 25 segundos actualmente, ya que el problema ha ido aumentando progresivamente). Igual ocurre cuando utilizo Guardar como en libros de nueva creacin, 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.) Slo ocurre al cerrar las hojas de Excel. He probado a reinstalar Excel e incluso todo el Office, pero no se ha solucionado el problema. Agradecera 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 vdeo 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 ms frecuentes a la hora de ralentizar los programas de Office 97 es MS Outlook en su versin 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 sabra qu ficheros se utilizaron en un momento determinado. El problema surge porque el tamao del citado log aumenta cuanto ms se utilice Office y el rendimiento disminuye. Por sus indicaciones parece que usted padece este problema. Le recomiendo que desactive esta opcin del Outlook. Para ello acceda a Outlook 97 (no se confunda con Outlook Express) y seleccione en el men: HerramientasOpciones del diario y desactive las casillas que correspondan a cualquier programa de MS Office. En la versin 98 del Outlook deber seleccionar en el men: HerramientasOpcionesPreferenciasOpciones del diario y desactivar, como en el caso anterior, las casillas pertenecientes a cualquier programa Office. Rodolfo de Benito

Insertar automticamente saltos de pgina al cambiar el valor en una columna de datos.

Estoy intentando hacer una macro en Excel que inserte saltos de pgina cuando cambie el valor de la celda siguiente en la columna A. Podran indicarme como lo puedo conseguir? La necesito para que imprima separadamente las marcas de los artculos de un inventario.La manera ms sencilla de resolver el problema que describe es usar la opcin 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 lnea con cabeceras de campo, y a partir de ella estn 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 opcin Datos/Subtotales. En la caja de dilogo, 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 funcin desea calcular. Es posible que no necesite ningn clculo concreto, en cuyo caso puede sencillamente contar el nmero de registros de cada grupo. Luego indique el campo o campos de la base de datos sobre los que se aplicar la funcin 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 dilogo tiene tres casillas de verificacin. Mantenga o no la seleccin de las dos casillas de verificacin Reemplazar subtotales actuales y Resumen debajo de los datos, y active la opcin Salto de pgina entre grupos para resolver el problema que plantea. Antonia Soler

Quitar contraseas Excel y problemas al Guardar.

Tengo archivos Excel protegidos por contraseas y no me acuerdo de ellas. Cmo podra 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 automticamente la aplicacin. Cul puede ser el problema?Como usted ya sabe, la opcin que incorpora Excel de proteger archivos mediante el uso de contraseas es de gran utilidad para evitar que otras personas puedan manipular o visualizar nuestras hojas de clculo. Desgraciadamente, suele ocurrir con frecuencia que al cabo de un tiempo el usuario olvide la contrasea y se encuentre con el problema que usted manifiesta. Cul es la solucin? Evidentemente Microsoft no presenta en su programa ninguna opcin para desproteger el archivo, ya que si lo hiciera las claves no tendran 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 cuestin, si al intentar Guardar como un archivo Excel le da un error que provoca la finalizacin no deseada del programa, es muy posible que dicho archivo est daado. Las causas de que el archivo est daado pueden ser mltiples, desde cerrar de forma incorrecta Windows hasta un problema con la memoria del ordenador. Una solucin que funciona en la mayora de los casos es crear un nuevo archivo Excel, seleccionar el contenido de la hoja de clculo daada, copiarlo y pegarlo en el nuevo archivo. Si tiene ms de una hoja de clculo 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. Slo puedo seleccionarla, pero no ocultarla.El cdigo 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 memorizacin de macros, de modo que basta activar la grabacin, realizar la tarea en modo interactivo, y despus finalizar la grabacin. A continuacin nos dirigimos a ver el cdigo generado automticamente, y basta con copiarlo y pegarlo en la macro que estemos creando. Antonia Soler

Problema con la funcin BUSCARV.

Uso la funcin BUSCARV para extraer un dato de una tabla. Cuando el dato buscado no existe, la funcin me devuelve #N/A. Quiero que en esos casos me devuelva cero. Cmo lo tendra que hacer?La funcin BUSCARV (tambin llamada de bsqueda en tablas) aparece en la imagen. En este ejemplo la funcin tiene cuatro argumentos entre los parntesis: 1.- El cdigo cuya cantidad asociada se quiere encontrar 2.- El rango de la tabla que relaciona cdigo y cantidad 3.- El nmero 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 lgico FALSO, que le indica a la funcin que la tabla no est ordenada. Este argumento es opcional. El problema que plantea el lector es que, cuando se indica un cdigo inexistente, la funcin devuelve el valor #N/A (not available o no disponible). Para que, en estos casos, la funcin devuelva el valor cero, debe usarse toda esta expresin: =SI(ESNOD(BUSCARV(F2;A2:B8;2;FALSO));0;BUSCARV(F2;A2:B8;2;FALSO)) Esta expresin emplea tres funciones: SI (condicional), ESNOD (es no disponible) y BUSVCARV. Su lgica es la siguiente: si el cdigo indicado no existe, la funcin BUSCARV devuelve el valor #N/A, la funcin ESNOD devuelve el valor lgico VERDADERO y la condicional devuelve 0. En caso contrario, la funcin ESNOD devuelve el valor lgico FALSO y la condicional devuelve el valor encontrado por BUSCARV. Claudio H. Snchez

Macro para ingresar datos automticamente.

Cmo sera el cdigo de una macro que localice la primera celda vaca de la columna B, ingrese un dato en ella y luego se desplace a la siguiente columna?El cdigo de la macro que pide el lector podra 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 cdigo comienza con la instruccin especial Sub, seguida del nombre elegido para la macro. La instruccin Range("B1").Select ubica el cursor en la celda B1, primera celda de la columna B. La instruccin Selection.End(xlDown).Selecto lleva el cursor hasta la ltima celda ocupada de la columna B. Equivale a oprimir la combinacin Control Flecha abajo. ActiveCell.Offset(1, 0).Select desplaza el cursor una fila hacia abajo. Es decir, a la primera celda vaca de la columna. La instruccin 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 cdigo termina con la instruccin especial End Sub. Los dos argumentos de la instruccin 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. Snchez

Extender el uso de una macro a todas las hojas.

Tengo una hoja de clculo con algunas macros. Cmo debo hacer para que esas macros estn disponibles en todas las dems 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 debera transferirse todo su cdigo desde la hoja original a las dems. Una opcin ms conveniente es instalar la que tiene las macros como complemento. Los complementos son mdulos que pueden instalarse en Excel, dotndolo 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 botn 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 podrn ejecutarse sobre todas las dems hojas abiertas en Excel. El complemento se abrir automticamente al iniciar el programa, lo que puede demorar unos segundos adicionales. Si se quiere desinstalar un complemento, se repiten los pasos anteriores desmarcndolo en el cuadro con la lista de complementos disponibles. Conviene agrupar en una nica hoja-complemento todas las macros de propsito general. sta actuar como biblioteca personal de macros. Claudio H. Snchez

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 compilacin en el mdulo oculto: RegistrationDB de Visual Basic Al pulsar el boton Ayuda me indic lo siguiente: vamsgcomperrinhiddenmoduleError de compilacin en un mdulo oculto: los mdulos protegidos no se pueden presentar. Las causas y posibles soluciones de este error son las siguientes: Existe un error de compilacin en el cdigo del mdulo especificado pero no se puede mostrar porque el proyecto est protegido. Elimine la proteccin y ejecute nuevamente el cdigo para ver el error. Si desea ms informacin, seleccione el tema en cuestin y presione F1 (en Windows) o Ayuda (en Macintosh). Despus de ver la ayuda puls Aceptar. Con ello se inici Excel en apariencia correctamente. Dado que el mensaje descrito se repeta cada vez que abra 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 aaden funcionalidades al programa. Estos mdulos estn protegidos y por tanto no se pueden revisar. No podemos pensar que contengan errores, ya que en ese caso dara error a todos los usuarios. Por tanto, pensamos que el problema puede estar relacionado con una librera que falta o est daada. Esto provocara que ciertas sentencias no sean reconocidas y, por tanto, den error. Para comprobar las libreras hay que arrancar Excel y usar la opcin de men HerramientasMacroEditor de Visual Basic. Una vez abierto el editor, abrimos el men HerramientasReferencias, 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 libreras estn activadas y persiste el problema, el siguiente paso es, en Excel, usar la opcin HerramientasComplementos. Los desactivamos todos y luego los vamos aadiendo uno a uno, saliendo y entrando en Excel en cada prueba, para ver cul es el que provoca el error. Jess Alons

Anlisis 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 cmo 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 Anlisis de Datos pero slo admite operar con datos numricos, aparte que deseara que los resultados fueran actualizados automticamente a medida que se fueran introduciendo nuevos registros (repetidos o no), cosa que no sucede en el caso de las herramientas de anlisis de datos. Tambin prob con la funcin 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 prcticamente la frecuencia la estara realizando yo a mano. Tambin intent convertir cada valor del campo Nombre y Apellidos en otro valor, esta vez numrico, que fuera la suma de sus cdigos siendo muy difcil 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 slo consigo el valor del primer carcter con la funcin de texto CODIGO(texto).Puede obtener el clculo que describe usando una tabla dinmica. En primer lugar, d un nombre de rango a la base de datos que contiene los registros, usando la opcin InsertarNombreDefinir. Tenga en cuenta que el rango debe incluir la cabecera o nombre de campo. A continuacin, use el comando DatosAsistente para tablas dinmicas. 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 posicin Fila y luego otra vez a la posicin Datos. En esta ltima posicin debe aparecer un botn con el texto Contar de Nombre. Finalmente, en el paso 4, indique dnde quiere obtener el resultado. Obtendr as la lista de nombres y a la derecha el nmero 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 dinmica y use la opcin DatosActualizar datos. Con ello no slo se recalcular el nmero de veces que aparece cada persona, sino que adems aparecern 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 nmero, que voy incrementando de uno en uno a medida que los pedidos se van generando, editando dicha celda (F2). He intentado hacer un mdulo de forma que al abrir el fichero se incremente dicho nmero de forma automtica, pero he desistido.Puede resolver su problema de la forma siguiente: suponiendo que el nmero del pedido est en la celda B3 y que la C3 est libre, puede crear una macro que introduzca en C3 la frmula =B3+1. Luego la macro debe copiar esa frmula y pegarla como valor (Pegado especial, Valores) en B3. Finalmente, la macro borra el contenido de C3. Si adems llama a la macro "auto_open", sta se ejecutar automticamente al abrir el libro. Aqu tiene el mdulo 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.

Conversin de nmeros 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 cmo convertir a euros los nmeros de una hoja. Se indica que si los datos estn en la Hoja 1, situemos el cursor en la celda A1 de la Hoja2, donde debemos escribir la frmula que ustedes citan. El problema que tengo es que Excel no me hace la conversin a euros, ni en la Hoja1 ni en la Hoja2. He revisado la frmula y la pongo igual que est en el suplemento, pero no consigo la conversin.Seguramente su problema se debe a que ha olvidado las instrucciones siguientes que se indican en el truco citado. Una vez escrita la frmula en la celda A1 de la Hoja2, debe copiar la frmula hacia abajo y hacia la derecha hasta conseguir que acte 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

Operacin en todas las celdas de Excel .

Quisiera saber si con Excel hay manera de poder hacer una operacin de suma, resta, producto o divisin sobre todas las celdas de una hoja de clculo sin tener que andar haciendo la operacin celda por celda, con la prdida de tiempo que conlleva. Sera 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 automtica de conseguir que toda la informacin de una hoja de clculo quede sumada, restada, multiplicada o dividida por un nmero. De hecho, tampoco es eso lo que normalmente se desea, ya que una hoja no suele contener slo nmeros, sino tambin textos, frmulas y celdas en blanco. Pero puede conseguir su objetivo ejecutando unas acciones relativamente sencillas. Para explicar cmo hacerlo, me centrar en el ejemplo de conseguir que todos los nmeros de una hoja queden automticamente divididos por 166,386. Supongamos que la informacin se halla en la Hoja1, y que la Hoja2 est en blanco, por lo que la usaremos para obtener la informacin convertida. Sitese en la celda A1 de la Hoja2 y escriba la frmula siguiente: =SI(ESNUMERO(Hoja1!A1);Hoja1!A1/166,383;SI(ESBLANCO(Hoja1!A1);"";Hoja1!A1)) A partir de ah, copie la frmula hacia la derecha y hacia abajo hasta conseguir que acte sobre todo el rango utilizado en la Hoja1. Esta frmula dividir los nmeros entre 166,386 y dejar las celdas en blanco igualmente en blanco (y no con el valor 0 que dara si omitiese esta parte de la frmula). Para terminar, los textos y las frmulas permanecern igual. Tenga en cuenta que la estructura de la frmula sealada es igualmente vlida si desea aplicarla en un rango disponible de la hoja de clculo que contiene los datos originales, o incluso si desea usarla en otro libro de trabajo que se refiera al primero. Antonia Soler.

Proteccin de Hojas.

Necesito proteger una hoja de clculo para evitar que se vean las frmulas 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 adems las frmulas utilizadas son visibles.Las celdas en una hoja de clculo tienen dos atributos que hacen referencia a la proteccin: Bloqueada es el primero de ellos y significa que la celda no puede ser modificada cuando se activa la proteccin de hoja, todas las celdas lo tienen activado por defecto. Oculta es el segundo e impide que se visualice las frmulas 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 pestaa Proteccin. Esto implica que el procedimiento correcto para proteger una hoja es: 1 Marcar las celdas que queremos que no estn protegidas, por ejemplo las celdas de entrada de datos. 2 Quitar el atributo de bloqueadas en Formato+Celdas y Proteccin. 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 Proteccin. 5 Abrir el Men Herramientas y escoger la opcin Proteger Hoja, nos pedir una contrasea, introducir la deseada y pulsar Aceptar La hoja de clculo quedar protegida