Quiero programar un bucle para que me busque valores mayores a un parámetro y me devuelva en MsgBox el valor de otra columna

Es mi primera pregunta aquí soy principiante en VBA y no se como continuar, más bien como unir un bucle con un if, de momento tras consultar varias cosas he conseguido hacer esto

Sub Test2()
' Seleccionar celda B5, *primera línea de datos*.
Range("B5").Select
' Configurar el bucle Do para que se detenga al llegar a una celda vacía.
Do Until IsEmpty(ActiveCell)
' Inserte el código aquí.
If ActiveCell > "8" Then
MsgBox "ok"
End If
' Bajar 1 fila de la ubicación actual.
ActiveCell.Offset(1, 0).Select
Loop
End Sub

El If funciona y until también, pero cuando lo anido con until no me hace nada...

Realmente lo que quiero hacer es:

Tengo una tabla, programada para que se rellene a través de un UserForm y ahora quiero que me de alertas cuando supere una cierta cantidad de días (Eso ya lo tengo hecho). Por lo que necesito que me recorra esa columna,(ColumnaJ) comprobando si es mayor a un parámetro fijo, y si es mayor (si es mayor, por ejemplo, de 12 días) me rebote en un MsgBox el numero que tengo en la ColumnaC. Que rebote tantos MsgBox como casos o en uno solo todos, eso me resulta indiferente

Respuesta
1

Prueba quitando las comillas al 8

1 respuesta más de otro experto

Respuesta
1

Aitor,

Además de lo que te comenta gregori, lo siguiente: si los valores a verificar los tienes en la columna "J", debes modificar lo siguiente:

Range("B5").Select

Por esto otro:

Range("J5").Select

(ten en cuenta que empiezas a verificar a partir de la fila 5..)

Finalmente el msgbox que ahora dice "ok", si quieres que te saque tantos como valores mayores a 8 con el valor sería así:

MsgBox ActiveCell.Value

En principio con esto debería funcionar.

Muchas gracias!!!! la ultima cosa que me falta, el MsgBox quiero que me de un valor de otra celda de la misma fila, valdría con hacer una referencia relativa (-3,0)?? por ejemplo

Gracias  de antemano

Para hacer lo que indicas sería algo así:

MsgBox ActiveCell.offset(0,3).value

En este caso el msgbox devuelve el valor de la misma fila pero tres columnas más a la derecha de la columna de referencia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas