En una pregunta en el blog, Rafael Medina necesita conseguir el último número positivo de una columna con celdas vacías, números, texto o fórmulas.
Pues bien lo resolvemos con este ejemplo sencillo utilizando código VBA, puede servir también para aprender cómo funciona una variable, cómo averiguar la última celda rellena de una columna o cómo crear un bucle que recorra las celdas del final al principio y que a su vez vaya comprobando si el contenido de la celda es positivo.
Ahora simplemente abre el editor de VBA (Alt + F11), Insertar > Módulo y pega o escribe el código. Debes tener en cuenta la columna con la que trabajas, en este ejemplo es la columna B por eso aparece en el código Range(«B1048576»), y en Cells(i,2) , recuerda que 2 es la segunda columna, «la columna B».
Option Explicit
Sub Ultimo_positivo()
Dim Vultimodato As Integer ‘ definimos las variables recuerda que el texto que va despues de ‘ es un comentario al código
Dim i As Integer
Range(«B1048576»).Select ‘ ultima celda de la columna B
Selection.End(xlUp).Select ‘ hacia arriba la última fila rellena
Vultimodato = ActiveCell.Row ‘ añadimos a la variable el valor de la última fila
For i = Vultimodato To 1 Step -1 ‘ creamos un bucle que recorra todas las filas de abajo arriba hasta que una celda sea nimérica y > 0
If IsNumeric(Cells(i, 2)) And Cells(i, 2).Value > 0 Then
MsgBox «Último nº positivo: » & Cells(i, 2) ‘ muestra un mensaje con el nº positivo último
Exit Sub ‘ en cuanto encuentre el positivo sale de la macro
End If
Next
End Sub
Para acabar si quieres crear un botón para agregarle la macro, sólo tienes que ir a la ficha Desarrollador o Programador e Insertar > Control de formulario > Botón. Lo dibujas en la hoja de Excel y automáticamente te preguntará qué macro quieres asignarle, le indicas Ultimo_positivo. Ahora sólo pulsa el botón y comprueba como un mensaje te dice cuál es el último positivo.
En un post anterior puedes aprender cómo ejecutar una macro paso a paso para ver cómo el código va trabajando sobre la hoja de Excel, esto ayuda a comprender la programación. Depurar código VBA en Excel – Ejecutar una macro paso a paso
Este post es un ejemplo de resolución de una necesidad, existen numerosas formas de resolverlo tanto con código como con fórmulas, no dudes en mandarnos tu forma de hacerlo en comentarios
Deja una respuesta