Excel - cómo puedo programar esta función?

 
Vista:

cómo puedo programar esta función?

Publicado por César (6 intervenciones) el 17/03/2008 18:08:22
Hola. Me gustaría que me ayudaseis a programar lo siguiente, ya que mis conocimientos son limitadísimos...
Veréis, quiero hacer un botón que transforme el valor de una celda en texto en otra celda:

Si el valor de la celda (tal) es menor de 5, debe escribir en la celda (Pascual) "In", si es mayor o igual que 5 y menor que 6 debe escribir "Su". Si es mayor o igual que 6 y menor que 7 debe escribir "Bi". Si es mayor o igual que siete y menor que 9 debe escribir "Nt" y si es mayor o igual que 9 menor o igual que 10 debe escribir "Sb".

Ahora bien necesito que este botón haga esto no con el valor de una sola celda, sino con varias, es decir necesito que me traduzca las puntuaciones de las asignaturas que están en distintas celdas a la calificación con letra en las celdas que yo le indique, de manera que pueda imprimir el boletín.

Muchísimas gracias por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:cómo puedo programar esta función?

Publicado por Abraham Valencia (2415 intervenciones) el 17/03/2008 18:16:12
Pues mi sincero consejo es, que, si tienes la necesidad de usar VBA, pues, cimenzes a leer.

Recuerda que en los foros ayudamos o guiamos, no hacemos el trabajo o la necesidad de los demas

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por César (6 intervenciones) el 17/03/2008 18:49:49
Y a parte de este valiosísimo consejo, Abraham, me puedes dar alguna indicación de como indicar en la orden if que me refiero al valor de una celda?

If Hoja2.Cells(1, 1) < 5 Then Hoja3.Cells(1, 1) = "In"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por César (6 intervenciones) el 17/03/2008 18:55:43
Bueno, eso parece que ya lo tengo, cómo hago para referirme a que es igual o mayor que cinco y menor que 6?

mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por César (6 intervenciones) el 17/03/2008 19:12:38
Private Sub CommandButton1_Click()
If Hoja2.Cells(1, 1) < 5 Then Hoja2.Cells(5, 1) = "In"
If Hoja2.Cells(1, 1) >= 5 < 6 Then Hoja2.Cells(5, 1) = "Su"
If Hoja2.Cells(1, 1) >= 6 < 7 Then Hoja2.Cells(5, 1) = "Bi"
If Hoja2.Cells(1, 1) >= 7 < 9 Then Hoja2.Cells(5, 1) = "Nt"
If Hoja2.Cells(1, 1) >= 9 <= 10 Then Hoja2.Cells(5, 1) = "Sb"
End Sub

Por qué no funciona??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por Luis Fernando  (803 intervenciones) el 18/03/2008 04:53:30
Mira con este codigo y usandolo como una funcion normal llamada "califica" donde el argumento "nota" debe ser una celda. Recuerda que la puedes ver por Fx categoria todas.


Function Califica(Nota)

If Nota <= 10 Then Califica = "Sb"

If Nota < 9 Then Califica = "Nt"

If Nota < 7 Then Califica = "Bi"

If Nota < 6 Then Califica = "Su"

If Nota < 5 Then Califica = "In"

End Function

Espero te ayude. Slds
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por Marvin Osorio (368 intervenciones) el 18/03/2008 14:44:46
No veo porque la necesidad de hacer una macro si se puede hacer con una función, por ejemplo esta:

=SI(Y(A2<=10,A2>9),"Sb",SI(Y(A2<=9,A2>7),"Nt",SI(Y(A2<=7,A2>6),"Bi",SI(Y(A2<=6,A2>5),"Su",SI(Y(A2<=5,A2>0),"In")))))

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por Luis Fernando  (803 intervenciones) el 19/03/2008 04:02:03
La razon de usar macros es muy clara sobre condicionales u otras funciones, pero cada cual evalua la necesidad.

Hay que evaluar facilidad y peso de los archivos elaborados, entre otros

Además funciones como la de la macro propuesta, la puedes guardar como un complemento para usarla también en otros libros de Excel.

Con mucho gusto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cómo puedo programar esta función?

Publicado por César (6 intervenciones) el 18/03/2008 22:17:45
Muchísimas gracias. Me dais la vida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

RE:cómo puedo programar esta función?

Publicado por Juan Carlos (15 intervenciones) el 20/03/2008 05:00:12
Probá con:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub CommandButton1_Click()
If Hoja2.Cells(1, 1) < 5 Then
Hoja2.Cells(5, 1) = "In"
ElseIf Hoja2.Cells(1, 1) >= 5 And Hoja2.Cells(1, 1) < 6 Then
Hoja2.Cells(5, 1) = "Su"
ElseIf Hoja2.Cells(1, 1) >= 6 And Hoja2.Cells(1, 1) < 7 Then
Hoja2.Cells(5, 1) = "Bi"
ElseIf Hoja2.Cells(1, 1) >= 7 And Hoja2.Cells(1, 1) < 9 Then
Hoja2.Cells(5, 1) = "Nt"
ElseIf Hoja2.Cells(1, 1) >= 9 And Hoja2.Cells(1, 1) <= 10 Then
Hoja2.Cells(5, 1) = "Sb"
End If
End Sub


Saludos Cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar