Ayuda con instrucción de VBA de excel

Buen día, apenas estoy empezando con la programación por medio de macros
tengo un vbaproyect que valida incidencias de asistencia, en la cual me pone si el empleado hizo tiempo extra, falto o llego tarde, todo lo hace muy bien para 1 empleado, pero al querer hacerlo ya para más empleados se hace demasiado grande el proyecto y me pone error de compilación, estoy completamente seguro que debe haber una forma para no usar todo el código que puse solo para un empleado, así que mi duda es, que instrucción me ayudara a reducir tantos If Then Else que ocupa, anexo una parte del código que use
x = Range("P11"). Value
If x = 0 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "OK"
Else
If x = 1 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "1HE2"
Else
If x = 1.5 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "1.3HE2"
Else
If x = 2 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "2HE2"
Else
If x = 2.5 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "2.3HE2"
Else
If x = 3 Then
Range("Q11").Select
ActiveCell.FormulaR1C1 = "3HE2"
Lo que ocupo es una instrucción que:
Valide del rango de celdas de P11 hasta P942
si alguna celda de ese rango es = a "3", que en la celda de al lado (Columna Q..) me ponga 3HE2
tomando en cuenta que de
1 a 9 se le agrega HE2
9 en adelante se le agrega HE3
0 a -7.5 se le agrega RET
Y a los múltiplos de 8 se le agrega FINJ
Agradezco de antemano su apoyo
Respuesta
1
debes utilizar la instruccion SELECT CASE, en lugar del IF.
¿Qué version de excel usas?
Si ya no te hace falta más

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas