Excel - VBA Macro Encontrar que celdas son el minimo de un rango y devolver el valor de otra celda

 
Vista:
sin imagen de perfil

VBA Macro Encontrar que celdas son el minimo de un rango y devolver el valor de otra celda

Publicado por Diego (1 intervención) el 16/12/2015 14:03:17
Tengo una serie de personas (ID) que evaluaron a 5 marcas (A,B,C,D,E) poniéndoles notas. Lo que quiero es una macro que para cada persona, me indique cuáles fueron las marcas con la nota más baja, así como se muestra en esta figura. Podría hacerlo manual, pero el problema es que tengo cientos de personas. He intentado hacerlo, pero no consigo nada. Muchas gracias por la ayuda.
ejemplo
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 Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

VBA Macro Encontrar que celdas son el minimo de un rango y devolver el valor de otra celda

Publicado por Andres Leonardo (1583 intervenciones) el 16/12/2015 23:44:27
Diego

Creo que lo hice

Listo ... ponle tus valores .. y pruebalo ..

**En macros esta el codigo para revisar cualquier duda me avisas.

**Ahora te queda a ti personarlizarlo .. al ejemplo lo hice con 19 registros tu veras como pones el limite de la validacion y adicional poner que limpie los valores... creo que eso sera mas facil.
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

VBA Macro Encontrar que celdas son el minimo de un rango y devolver el valor de otra celda

Publicado por hghgh (1 intervención) el 17/12/2015 00:29:41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub ula_ula()
Dim i%, rng As Range, cell As Range
Dim s$, n&, limitemax&
s = "+ABCDE"
n = 2
limitemax = 18
Range("G2:K" & limitemax + 1).Value = ""
 
begin:
Set rng = Range("B" & n & ":F" & n)
i = Excel.WorksheetFunction.Min(rng)
For Each cell In rng
    With cell
         If .Value = i Then Cells(.Row, .Column + 5).Value = VBA.Mid(s, .Column, 1)
    End With
Next
n = n + 1
If n <= limitemax + 1 Then GoTo begin
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar