Saltar al contenido

Macro no ejecuta un IF


Recommended Posts

publicado

Hola, repasando las macros de mi libro me he dado cuenta de que tengo un IF compuesto que no lo ejecuta y no le veo la razón. ¿Podéis iluminarme? Gracias.

If CeldaActual.Value >= 11 And CeldaActual.Value <= 13 Then
        
            CeldaActual.Interior.ColorIndex = None
            CeldaActual.Font.ColorIndex = 3  'Rojo
            CeldaActual.Font.Bold = True

 

Tensión_macros_1bis.xlsm

publicado

El problema no lo tienes en ese If, lo tienes en el siguiente que entra en conflicto al cumplirse la condición de <=5.

Debes asegurarte que las condiciones solo se evalúan en las celdas adecuadas.

Prueba esta macro:

Sub Formato_Condicional()
Application.ScreenUpdating = False
For Each CeldaActual In Range("B2:H" & Cells(Rows.Count, "A").End(xlUp).Row)
   '--
   CeldaActual.HorizontalAlignment = xlCenter
   CeldaActual.Interior.ColorIndex = xlNone
   CeldaActual.Font.Color = vbBlack
   CeldaActual.Font.Bold = False
   '--
   If Range("A" & CeldaActual.Row) Like "SISTÓLICA*" Then
      If CeldaActual.Value >= 11 And CeldaActual.Value <= 13 Then
         CeldaActual.Font.Color = vbRed
         CeldaActual.Font.Bold = True
       End If
   End If
   '--
   If Range("A" & CeldaActual.Row) Like "DIASTÓLICA*" Then
      If CeldaActual.Value <= 5 Then
         CeldaActual.Font.Color = vbRed
         CeldaActual.Font.Bold = True
       End If
   End If
   '--
   If Range("A" & CeldaActual.Row) Like "PULSACIONES*" Then
      If CeldaActual.Value >= 65 And CeldaActual.Value <= 80 Then
         CeldaActual.Font.Color = vbRed
         CeldaActual.Font.Bold = True
       End If
   End If
   '--
   If Range("A" & CeldaActual.Row) Like "Semana*" Then
      CeldaActual.Interior.Color = vbYellow
   End If
   '--
   If Range("A" & CeldaActual.Row - 1) Like "Semana*" And _
      Range("A" & CeldaActual.Row) = "" Then
      CeldaActual.Interior.Pattern = xlGray25
   End If
   '--
   If Range("A" & CeldaActual.Row - 1) Like "PULSACIONES*" Then
      CeldaActual.Interior.Color = vbBlack
   End If
   '--
Next
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.