Como que no solo de código vive el hombre, aprovecho esta serie de artículos para recordaros la existencia, en Excel, de botones. Si, tambien existen formularios, y muy pronto vamos a revisarlos, pero mientras tanto, un humilde boton nos puede hacer mucho bien…Disculpad el lenguaje, pero se ve que hoy me he levantado¿clasicon?.
Bueno, a lo nuestro, vamos a ver como podemos incorporar un botón a nuestra hoja de cálculo, y unirlo a una macro para darle un poco mas de dinamismo a nuestro trabajo.
Nuestro primer ejemplo, va a ser muy sencillo, tenemos una hoja con una tarifa de precios, y queremos poder incrementar o de crementar nuestros precios con solo pulsar un botón….
Primero nuestra hoja:
Por aquello de reservar energías para lo importante, se me ha ocurrido bajar una hoja desde internet; os dejo el enlace de la pagina por si quereis descargarla: http://www.bjc.es/lista-de-precios/ (no es publicidad; no tengo nada que ver con ellos, pero dejaron a mi alcance una hoja excel…)
Para organizar nuestro trabajo, le he asignado un nombre a nuestra columna de precio; lo hubiera podido hacer desde macro, pero como la intención es que si modifican la columna, el usuario modifique el nombre y todo siga funcionando, lo he hecho en la hoja; para ello, he hecho click en la celda C3, y a continuacion he pulsado Ctrl+Shift+Flecha abajo para seleccionar toda la columna de datos; luego me he posicionado en el cuadro de nombres , he escrito listaPrecios, pulso Intro y la columna de nombres pasa a llamarse listaPrecios
Se trata ahora de hacer una macro que nos pida cuanto queremos incrementar o decrementar nuestros precios. Para ello, podemos abrir nuestro editor de VBA y añadimos un módulo nuevo, o en thisworkbook y escribimos :
Sub modificaPrecio() Dim variacion As Double variacion = InputBox("Indique variacion" & vbCrLf & " Ej: 1,10 +10%, 0,90 -10%") Application.ScreenUpdating = False Range("listaPrecios").Select For Each celda In Selection.Cells celda.Value = celda.Value * variacion Next Application.ScreenUpdating = True End Sub
Como veis, no me he complicado la vida, defino una variable variacion como Double, presento un inputbox para que me indiquen el incremento o decremento, que para simplificar lo solicito ya como operador, a continuación, bloqueamos la actualización de pantalla para que la macro vaya un poco mas rápida, seleccionamos el rango definido por «listaPrecios» y vamos recorriendo todas las celdas, aplicando el factor a cada una de ellas, luego solo queda volver a activar la actualización de pantalla, y todo hecho.
Ahora ya podemos añadir el boton, para ello, en la ficha de programador pulsamos el botón Insertar y
sobre el emergente, pulsamos botón,
y solo queda irnos a la hoja, en donde queramos que aparezca el botón, y arrastrar el ratón para dibujarlo. Al finalizar nos aparecerá una nueva ventana emergente en donde nos solicitara asociarlo a una macro; seleccionamos la que acabamos de hacer, y resuelto.
Ah! en caso de que no se abriera la pantalla para indicar la macro, podéis hacer doble click en el botón, y automáticamente aparecerá el editor de VBA con el nombre de la rutina escrito, escribís dentro el nombre de vuestra macro, y apunto para probar
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.