Asignar color de celda según condición

Cuento con el siguiente código, en el cual lo que necesito es que si el textbox2 tiene el valor "cancelado" la celda correspondiente a la fila A se pinte roja, en caso sea "ENVIADO A TAM" sea color celeste, caso contrario no sea ninguno de esos dos valores sea anaranjado

Que deberia cambiar en el siguiente código para que funcione

Private Sub CommandButton2_Click()
Set h = Sheets(ComboBox1.Value)
    Set b = h.Range("A:A").Find(ComboBox2.Text, lookat:=xlWhole)
    If Not b Is Nothing Then
        Fila = b.Row
        '
        h.Cells(Fila, "B") = TextBox1
        h.Cells(Fila, "C") = TextBox2
        If UCase(TextBox2) = "CANCELADO" Then
          h.Cells(Fila, "A").Interior.ColorIndex = 3
        Else
          h.Cells(Fila, "A").Interior.ColorIndex = 44
        End If
        If UCase(TextBox2) = "ENVIADO A TAM" Then
          h.Cells(Fila, "A").Interior.ColorIndex = 37
        Else
          h.Cells(Fila, "A").Interior.ColorIndex = 44
        End If
        h.Cells(Fila, "G") = TextBox3
        h.Cells(Fila, "M") = TextBox4
        '
        h.Cells(Fila, "N") = Val(TextBox5) 'guarda la fecha
        'vas agregando el resto
        End If
    Sheets("FORMULARIO").Select
     Call LimpiarTextBoxes
     Call limpiarComboBoxex
MsgBox ("El registro se guardó con éxito"), vbInformation, "AVISO"
ComboBox1.SetFocus
End Sub
Respuesta
1

1 respuesta más de otro experto

Respuesta
1

Macro


Private Sub CommandButton2_Click()
Set h = Sheets(ComboBox1.Value)
    Set b = h.Range("A:A").Find(ComboBox2.Text, lookat:=xlWhole)
    If Not b Is Nothing Then
        Fila = b.Row
        '
        h.Cells(Fila, "B") = TextBox1
        h.Cells(Fila, "C") = TextBox2
        Select Case UCase(TextBox2.Text)
            Case "CANCELADO"
            h.Cells(Fila, "A").Interior.ColorIndex = 3
            Case "ENVIADO A TAM"
            h.Cells(Fila, "A").Interior.ColorIndex = 8
            Else
            h.Cells(Fila, "A").Interior.ColorIndex = 46
        End Select
        h.Cells(Fila, "G") = TextBox3
        h.Cells(Fila, "M") = TextBox4
        '
        h.Cells(Fila, "N") = Val(TextBox5) 'guarda la fecha
        'vas agregando el resto
        End If
    Sheets("FORMULARIO").Select
     Call LimpiarTextBoxes
     Call limpiarComboBoxex
MsgBox ("El registro se guardó con éxito"), vbInformation, "AVISO"
ComboBox1.SetFocus
End Sub

Me sale error Else sin if

Cambia

Else

por

Case Else

Muchas gracias a,igo si me funciono 

Que bien

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas