Encuéntranos en Google+.
Working Into Binary
Ingeniería electrónica, lenguajes de programación, software, simulación, noticias, ofimática, ERP,...
Mostrando entradas con la etiqueta Excel. Mostrar todas las entradas
Mostrando entradas con la etiqueta Excel. Mostrar todas las entradas

Cómo restaurar Excel con la configuración por defecto sin volver a instalar

26 septiembre, 2012


Es posible que alguna vez nos hayamos encontrado con que nuestro programa ofimático favorito, Microsoft Excel, tiene un comportamiento "no habitual" debido a que hemos trasteado sus opciones y configuraciones hasta el punto de no saber como deshacer los pasos y solucionar los posibles problemas que hayan surgido a causa de ello. La primera idea es desinstalar Excel para luego volver a instalarlo. En un principio puede parecer un razonamiento correcto, pero en realidad no lo es tanto. Por dos motivos: primero, el desinstalar un programa no nos garantiza que todos los archivos de configuración asociados a él también hayan sido eliminados, y, segundo, existe un método más rápido que hace innecesario volver a instalar el programa.
La solución es fácil y muy sencilla: borraremos directamente el "archivo" con la configuración actual, de tal manera que al no encontrarlo, Excel creará uno de nuevo con los valores por defecto. Ahora veremos los pasos que hay que seguir y veremos lo fácil que resulta.

1. Cerramos Microsoft Excel si éste está abierto.
2. Vamos a "Inicio>Ejecutar...", escribimos "regedit" y aceptamos.
3. En la ventana que nos sale, buscamos la carpeta:

HKEY_USERS\S-1-5-21-3623577817-3132101771-1855159549-1006\Software\Microsoft\Office\12.0\Excel\Options

Dentro de HKEY_USERS encontraréis diferentes carpetas que no tienen que llamarse igual que la que yo indico. Simplemente buscáis la que tenga el nombre más largo y que no acabe en "Classes".

Después, dentro de la carpeta Office, habrán carpetas con las diferentes numeraciones de las versiones de Office que tengáis instaladas. Escoged la carpeta de vuestra versión sabiendo que:

Office 2003 - 11.0
Office 2007 - 12.0
Office 2010 - 14.0
Office 2013 - 15.0


4. Una vez localizada, es opcional, pero recomendable, copiarla entera en el Escritorio como Backup.
5. Y ahora, finalmente, eliminamos la carpeta Options entera.

Y ya está. Excel irá a buscar esa carpeta la próxima vez que lo iniciéis y, al no encontrarla, creará una de nueva con las opciones y configuraciones que vienen por defecto al instalarse por primera vez.

Base de datos de códigos postales, municipios y demás (España)

19 septiembre, 2012
Aquí os traigo una serie de tablas con los códigos postales, municipios y provincias de España, junto con una tabla con los diferentes países del mundo. Es muy útil para realizar bases de datos, y es un recurso que en su momento me costo encontrar. Los datos están actualizados a este año.


Las tablas están guardadas como archivos de texto. Si queréis importarlas a Excel o Access, debéis hacerlo con un ancho de campo fijo. A cada tabla le acompaña un PDF con información sobre los diferentes campos de cada tabla.
Espero que os sea útil.

Como saber si un valor es múltiplo de otro en Excel con y sin Visual Basic

06 septiembre, 2012
Hoy veremos dos maneras de validar que un cierto valor se múltiplo de otro. El primer método es aplicable dentro del ámbito de Excel mediante la fórmula Residuo(). El segundo método, y más interesante para los que programamos en Visual Basic, es mediante el operador MOD, el cual nos sirve para cualquier aplicación que utilice VBA (Excel, Access, Word,...).
El primer método es utilizando la función Residuo. Tenemos la siguiente tabla de valores:


Vemos como en la primera columna tenemos los valores que queremos saber si son múltiplos o no de los valores que aparecen en la columna de la derecha. En la última columna obtenemos la respuesta Sí/No. Para obtener dicha respuesta, utilizamos la fórmula siguiente:

=SI(RESIDUO(A2;B2)=0;"Sí";"No")

La condición de que un valor sea múltiplo de otro es que el residuo de su cociente sea 0. La fórmula Residuo() nos da eso, el residuo del cociente de los dos valores que indiquemos en su argumento. Aplicamos esa condición mediante la fórmula Si() y ya tenemos nuestra respuesta.

Este es un método muy sencillo para saber si un valor es múltiplo de otro, pero es que en el caso de Visual Basic es igual de fácil. En Visual Basic utilizaremos el operador MOD. Su sintaxis es:

Residuo = Valor1 MOD Valor2

El operador MOD nos devuelve el residuo del cociente entre el Valor1 y el Valor2. Aplicamos la misma condición que antes, residuo igual a 0, y validamos:

Sub Check_Multiple()

Dim V1 As Double
Dim V2 As Double

V1 = 16
V2 = 2

If V1 Mod V2 = 0 Then
  MsgBox "El valor " & V1 & " ES múltiplo de " & V2 & ".", vbOKOnly + vbInformation
Else
  MsgBox "El valor " & V1 & " NO ES múltiplo de " & V2 & ".", vbOKOnly + vbInformation
End If

End Sub


De este modo disponemos de dos manera de validar que un valor sea múltiplo de otro.

Cómo eliminar u ocultar en Excel las filas con un cierto valor en una de sus celdas con VBA

05 septiembre, 2012
Hoy me han preguntado sobre como automatizar la eliminación/ocultación de filas en Excel que tengan un cierto valor en una de sus celdas. La solución: Visual Basic. Me atrevería a decir que no hay casi nada imposible para VBA, solo nos limita nuestra capacidad de imaginación en el momento de idear una solución. Por eso, aprovecho esta entrada para recomendaros, al igual que he hecho con el compañero que me ha preguntado, su aprendizaje. Más adelante tengo pensado hacer un tutorial básico de VBA dentro del entorno de Excel.
Pero a lo que ibamos!
Tenemos una tabla como la siguiente:


La tabla corresponde a la tabla de Pedidos de la base de datos de ejemplo de Access llamada Northwind 2007. La podéis descargar desde este blog mismamente (buscar en el SideBar de la derecha) o desde el propio Access.

Queremos eliminar de todas las filas cuyo valor en la columna "Tipo de pago" sea "Cheque" o no contenga nada (la columna es la "O", que queda a la derecha de las columnas que muestra la imagen anterior). Lo que haremos será recorrer una a una las filas de la hoja y comprobar cual es el valor de la celda en la columna "O". Evaluaremos ese valor y realizaremos una acción u otra según el mismo.

Primeramente, diseñaremos un código que nos elimine las filas y, después, otro código que nos oculte las filas. Habrá una ligera diferencia entre ellas.

El código para eliminar las filas es el siguiente:

Sub Delete_Rows()

Dim Wb As Worksheet
Set Wb = Worksheets("Hoja1")

Dim i As Integer
i = 2

Do While Wb.Cells(i, 1) <> ""
  If Wb.Cells(i, 15) = "" Or Wb.Cells(i, 15) = "Cheque" Then
    Wb.Rows(i).EntireRow.Delete
  Else
    i = i + 1
  End If
Loop

MsgBox "Filas eliminadas con éxito!", vbOKOnly + vbInformation, "Tarea finalizada"

End Sub

Podría comentar el código, pero la experiencia me ha demostrado que hay gente que solo le interesa tener el código, adaptarselo y ya está, y luego está la gente que quiere entender el código (que son los que realmente acaban aprendiendo a programar en VBA). A ellos les recomiendo ejecutar el código paso a paso y ver qué hace. Intentar entenderlo facilitará mucho más el aprendizaje de VBA que el que os comente línea a línea todo el código. Buscar en Internet y en los archivos de ayuda de las correspondientes aplicaciones también facilita el aprendizaje del código. Finalmente, si algo no se entiende, no dudéis en dejar un comentario y gustosamente os lo explicaré.

Ahora, el código para esconder las filas:

Sub Hide_Rows()

Dim Wb As Worksheet
Set Wb = Worksheets("Hoja1")

Dim i As Integer
i = 2

Do While Wb.Cells(i, 1) <> ""
  If Wb.Cells(i, 15) = "" Or Wb.Cells(i, 15) = "Cheque" Then
    Wb.Rows(i).EntireRow.Hidden = True
  End If
  i = i + 1
Loop

MsgBox "Filas escondidas con éxito!", vbOKOnly + vbInformation, "Tarea finalizada"

End Sub


Y con estas pocas líneas de código podemos realizar nuestra tarea eficientemente.

(Acordaros que podéis descargaros la base de datos Northwind 2007 en el SideBar de la derecha de este blog. Utilizaré de ahora en adelante sus tablas y diferentes elementos para futuros ejemplos de Excel o Access.)

Base de Datos de ejemplo Northwind 2007 para Access


Para los futuros ejemplos para Excel o Access utilizaremos una base de datos basada en Access que ofrece Microsoft gratuitamente. Utilizaremos esta base de datos para realizar ejemplos sobre Access y sus tablas para realizar ejemplos en Excel (basta con hacer un "copiar y pegar" de las tablas al Excel).
Os dejo un enlace a la web de Microsoft donde os la podéis descargar sin ningún problema.

Enlace: Northwind 2007

(Nota: al abrir el archivo que descarguéis no esperéis tener la base de datos directamente abierta. Os mostrará la pantalla de inicio de Access y debéis de indicar que queréis crear una nueva base de datos, la cual se llamará Northwind 2007 por defecto. Aún así, al abrir Access, en la barra de la izquierda, aparece un enlace donde pone "Ejemplos". Si clicáis ahí también la encontraréis.)

Cómo ingresar, en Excel, fórmulas en celdas mediante VBA

04 septiembre, 2012
A veces queremos ingresar fórmulas en las celdas de Excel en lugar de valores directamente. Ello se logra con la propiedad FormulaLocal.
Utilizaremos esta propiedad para añadir la fórmula, mediante un string, a la celda que deseemos. Nada mejor que un ejemplo.
Queremos que la celda B6 tome el valor de la suma del rango B2:B4 y, al modificar algún valor de los que contiene el rango mencionado, el resultado en B6 se nos actualice. Ello lo logramos ingresando la fórmula "=SUMAR(B2:B4)" en la celda B6.
Si ingresamos la fórmula directamente sobre la celda, VBA lo interpretará como una cadena de texto y lo ingresará como tal. Para que nos lo reconozca como fórmula tenemos que utilizar FormulaLocal.
Tenemos la hoja de datos de nuestro ejemplo:


Para ingresar la fórmula en la celda B6 utilizaríamos el siguiente código:

Sub Ejemplo()

  Worksheets("Hoja1").Range("B6").FormulaLocal = "=SUMA(B2:B4)"

End Sub

Cómo habilitar la pestaña Programador del Ribbon

18 julio, 2012

Queremos mostrar la pestaña Programador en el Ribbon (Cinta de Opciones) en Excel. Ello nos ofrecerá nuevas acciones a realizar (abrir el editor de VBA, añadir controles al libro, gestionar expansiones,...) que nos darán pie a sacarle el máximo partido a la aplicación. El proceso para el resto de aplicaciones del paquete de Office es el mismo. Es por ello que solo se mostrará como hacerlo en Excel. También comentar que la versión de Microsoft Office es la de 2007.

Para mostrar la pestaña Programador realizaremos los siguientes pasos:


1. Hacer clic sobre el botón de Office que aparece en la parte superior izquierda de la aplicación.


2. Hacemos clic sobre el botón Opciones de Excel que nos aparece abajo a la derecha del menú que nos acaba de aparecer.


3. En la ventana que nos aparece nada más entrar, deberemos marcar la casilla que dice Mostrar ficha de Programador en la cinta de opciones. Pulsaremos Aceptar y ya tendremos visible nuestra pestaña Programador.