como hacer macros en excel

#1
Hola. Debido a que paso mucho tiempo con el ordenador y eso sube la factura de la luz, necesito controlar el gasto. Por eso creé una hoja de Excel que me guarde cuantas horas uso el ordenador al día. El tema es que tengo que hacer varias cosas repetitivamente y eso es bastante cansado. Tengo entendido que a lo mejor una macro me puede ayudar a hacer esto, pero nunca usé ninguna. Además que pueden ser peligrosas, o eso leí. Sin importar esto ¿cómo se hace una macro de esas?

Gracias.
 
#2
Hola Celeste2001.

Para hacer una macro tienes que activar en la cinta de opciones la ficha o pestaña, llamada Desarrollador, que no está por defecto:

- Dentro de la pestaña archivo, tienes que ir a Opciones y aquí en personalizar cinta.

- Después en Personalizar la cinta de opciones y Pestañas principales, activas la casilla Programador.

Una vez hecho esto, aparecerá la pestaña Desarrollador con varias opciones, algunas referentes a las macros:

- Es tan sencillo como darle a Grabar macro y cuando termines darle a Detener macro. En realidad es la misma opción, pero que cambia entre grabar y detener.

Aunque grabar una macro es sencillo, debes hacer los pasos correctamente, respecto lo que vayas a necesitar. Es decir hacer estrictamente lo que necesites. No por nada, si te confundes por ejemplo, eso también será grabado y la macro no será lo óptima que debería.

Comprueba que la macro funcione correctamente.

Salu2
 
#4
Hola. Sí, pero para editarla tienes que acceder al código generado:

1 - Si vas al grupo Código de la ficha Programador, tienes que hacer clic en donde pone Macros.

2 - En el cuadro Nombre de la macro , tienes que hacer click en la macro a modificar, si solo tienes una, en la única que hay.

3 - Tienes que hacer clic en Modificar. Entonces aparecerá el editor de Visual Basic.

El tema es que si no sabes algo de programación, te puede liar bastante.

Salu2
 
#5
Gracias, por la respuesta. Sí lo de programar no es lo mío. ¿Hay algún tutorial o algo que te enseñe al menos como modificar estas macros?

Un saludo.
 
#6
Hola Celeste2001. En realidad editar una macro, se basa en ver su código y observar que partes necesitas añadir o quitar si no son necesarias. El código tampoco es tan complejo, en esencia son las funciones del propia Excel. Aunque también es cierto que la mayor o menor complejidad reside en la cantidad de cosas que tenga que hacer esa macro.

Salu2
 
#7
Buenas. Nada he abierto el código de una macro y esto me parece complejísimo. No se yo... lo mejor me parece que es grabarla de nuevo, si te confunndes. Creo vamos.

Un saludo.
 
#10
Eso de Range indica, no la prioridad ni la importancia de las celdas. Si no el rango entendido como un intervarlo entre un valor mínimo y máximo:

Ejemplo:

Range("A1")="Bien"

Indica sólo que la celda A1 se le asignará el valor bien

Range("LX") ="Valor"

Donde LX indica la celda, la primera una letra y después un número y "Valor" el valor de la celda. Si está entre comillas indica una cadena de texto, como en el caso anterior si no es un número simplemente.

Si por ejemplo tenemos:

Range("A1:A5")=4

Indica que las celdas A1, A2, A3, A4 y A5, se les asignará el valor 4.

Salu2
 
#12
A ver es que el lenguaje que se usa por parte de Excel es una versión especial de Visual Basic, llamada VBA. Es el Visual Basic para Aplicaciones. Y trae distintas funciones, intrucciones,...

Eso que dices es lo que se denomina un procedimiento. En este caso tipo Sub.

Sub Nombre ()

Donde Nombre es el nombre del procedimiento.

Ejemplo:

Sub Alarma ()
MsgBox "Se ha activado la alarma"
End Sub

Y para llamar a estos procedimientos se puede usar:

Call nombredelprocedimiento:

En nuestro ejemplo

Call Alarma

Salu2
 
#13
A ver si leo algo, porque tampoco me vas a estar explicando cada función o instrucción de esas. No se ni para que pregunté, perdona.

Gracias.
 
#14
No pasa nada, tu pregunta lo que quieras. Vamos a ver tampoco te voy a decir diciendo todas las instrucciones, procedimientos..., porque para eso hay tutoriales en Internet, pero sí te puedo (podemos) aclarar las dudas que quieras.

Salu2
 
Arriba