Crear una función que sume variables en VBA

Es la primera vez que utilizo VBA y no se nada de programación. Necesito crear una función que cumpla con lo siguiente :

"

Programe una función RANKING que calcule el ranking de cada alumno de la siguiente forma:

RANKING = A+B+C+D+E

donde

A = 100 * materias aprobadas / materias rendidas

B = 3 * materias aprobadas

C = 3 * promedio real

D = si materias restantes <= 6 entonces es 30 sino es 0

E =  si encuesta = 1 entonces es 5 sino es 0"

Necesito saber al menos como armarlo.

2 respuestas

Respuesta

Si puedes adjuntar la hoja Excel mejor... no obstante, entiendo que si los datos los tienes en celdas de la hoja Excel:

Resultado en celda A1: Range ("A1").value='la fórmula'

Para las fórmulas:

A = 100 * materias aprobadas / materias rendidas

Dato de materias aprobadas en A3

Dato de materias rendidas en A4

Resultado en celda por ejemplo A2:

Range("A2").value = 100 * Range ("A3").value / Range ("A4").value

B y C igual que el A pero con sus celdas correspondientes.

D = si materias restantes <= 6 entonces es 30 sino es 0

Dato de materias restantes en B2 (por ejemplo) y Resultado en B1:

If Range("B2").value <= 6 then

Range("B1").value = 30

Else

Range("B1").value = 0

End If

La E igual que la D.

Esa es la tabla del excel, y tengo que crear una función en VBA que permita calcular el ranking teniendo en cuenta las condiciones que puse al principio, muchas gracias!

Yo, en este caso, en vez de usar vba, usaría una fórmula en la celda I2:

=(100*C2/D2)+(3*C2)+(3*E2)+(SI(F2<=6;30;0))+(SI(G2=1;5;0))

Respuesta

Crea una tabla así, seleccionas todos los datos, ye vas a insertar, tabla, seleccionas la tabla tiene encabezados y listo ahora en ranking pones la siguiente fórmula y listo ya tienes tu fórmula

=Tabla1[[#Esta fila],[materias aprobadas]]/Tabla1[[#Esta fila],[materias rendidas]]*100+3*Tabla1[[#Esta fila],[materias aprobadas]]+3*Tabla1[[#Esta fila],[promedio real]]+SI(Tabla1[[#Esta fila],[materias restantes ]]<7,30,0)+SI(Tabla1[[#Esta fila],[encuesta]]=1,5,0)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas