Macros

Hola Experto recurro a tu admirable sabiduría y decirte que:
Tengo una macro que ejecuta lo siguiente
Public Sub condición()
Dim maxi As Range
Set maxi = Range("G1")
For Each c In Worksheets("hoja1").Range("ventas").Cells
If c.Value >= maxi Then
With c.Font
.Bold = True
.Size = 15
End With
c.Interior.ColorIndex = 7
End If
Next c
Range("G1").Select
End Sub
Pero el operador de condición >= quiero que sea reemplazable... He creado una lista de entrada con todos los operadores de condición y no sé como plantearle a la computadora para que lea la lista que está en la celda "F1".
Me despido dándote gracias por la respuesta esperada.

1 Respuesta

Respuesta
1
He fracasado exitosamente en varios intentos de concatenar argumentos y operadores.
Así que opté por esta que es un poco más "pedestre" pero que funciona bien. Prueba con este código:
Dim c As Range
Public Sub condición()
Dim maxi As Long
maxi = Range("G1").Value
For Each c In Worksheets("hoja1").Range("ventas").Cells
Select Case Range("F1")
Case ">="
If c.Value >= maxi Then FormatoC
Case ">"
If c.Value > maxi Then FormatoC
Case "<="
If c.Value <= maxi Then FormatoC
Case "<"
If c.Value < maxi Then FormatoC
Case "="
If c.Value = maxi Then FormatoC
Case Else
MsgBox "Falta Seleccionar Operador válido"
Exit Sub
End Select
Next c
Range("G1").Select
End Sub
Sub FormatoC()
With c.Font
.Bold = True
.Size = 15
End With
c.Interior.ColorIndex = 7
End Sub
Esto debería resolver tu pregunta. Si así fuera, ya sabes... Si no, pregúntame de nuevo.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas