Problemilla con la hoja del scalextric

Hola a todos,
Tengo cinco circuitos de scalextric montados en casa en los que los fines de semana nos echamos unas carreritas, con la ayuda de un amigo hicimos una hoja de excel que básicamente nos sumara los cinco tiempos realizados en los circuitos (Columnas H:L), la suma de esos cinco valores (Columna QUE, no visible en el gráfico.)Determina la clasificación final.El problema con el que topamos es el siguinte;bueno primero os tratare de explicar lo que significan las categorías(Columna G)los pilotos que participan en la cerrera debe de elegir una categoría en la que participar, son cuatro;W-A-SN y N, esta información la tenemos puesta en la columna G, las categorías determinan los cuatro niveles de preparación mecánica admitidas para nuestros cochecitos. Bien pues lo que queremos hacer y no hay manera de que nos salga(no somos unos hachas con el excel)es que el tiempo más bajo de cada una de las cuatro categorías se nos coloree de forma automática con el color que le tenemos asignado a cada categoría en la columna G, la fórmula debería de estar aplicada en las columnas H:L que son las que contienen los tiempos realizados en los cinco circuitos, el resultado debería de ser el que se ve en el gráfico que adjunto, esto lo hice yo manualmente buscando a ojo los tiempos más bajos de las cuatro categorías en los cinco circuitos y coloreando las celdas. Espero no pedir una cosa muy complicada y que nos podáis ayudar.
Gracias de antemano.
Un saludo. Pedro.
1

1 respuesta

Respuesta
1
Vamos a intentar solucionar tu pequeño problema. Si no lo he entendido mal, con las pruebas que he realizado, a mi me funcionaría. Si todo esta colocado donde me dices, pinta el tiempo mínimo con el color que tú le has asignado a la columna G.
Para realizar esto, hay que entrar a programación de macros. Te puede sonar a chino, pero puede funcionar. Lo primero colocate en la hoja en cuestión, y pincha con el ratón derecho en la pestaña inferior de dicha hoja. Te saldrá una nueva pantalla (microsoft Visual Basic) y en la parte derecha que en teoría tiene que estar en blanco, copia lo que te pongo aquí abajo. Te vuelves a pasar a la excel y haces las pruebas pertinentes. Nota.- Si cuendo te salgas del fichero y vuelvas a entrar no te funciona, eso es porque no tienes activadas las macros, me lo dices y te indico como activarlas.
(Si tienes problemas y quieres, me dices tu correo y yo te envío el mio para intercambio de ficheros, y así te lo dejo funcionando.)
El código que tienes que copiar es el siguiente.
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim COLOR As Byte
    Dim A As Double
    Dim W As Double
    Dim K As Double
    Dim N As Double
    Dim AA(13) As Double
    Dim WW(13) As Double
    Dim KK(13) As Double
    Dim NN(13) As Double
    If Target.Row < 20 And Target.Row > 1 Then
        If Target.Column < 13 And Target.Column > 7 Then
            Range(Cells(2, 8), Cells(19, 12)).Interior.ColorIndex = xlNone
            For C = 8 To 12
            For R = 2 To 19
                Select Case Cells(R, 7)
                    Case "A"
                        AA(C) = Cells(R, C)
                        If A = 0 Then
                            A = AA(C)
                            RA = R
                        End If
                        If A > AA(C) Then
                            A = AA(C)
                            RA = R
                        End If
                    Case "W"
                        WW(C) = Cells(R, C)
                        If W = 0 Then
                            W = WW(C)
                            RW = R
                        End If
                        If W > WW(C) Then
                            W = WW(C)
                            RW = R
                        End If
                    Case "K"
                        KK(C) = Cells(R, C)
                        If K = 0 Then
                            K = KK(C)
                            RK = R
                        End If
                        If K > KK(C) Then
                            K = KK(C)
                            RK = R
                        End If
                    Case "N"
                        NN(C) = Cells(R, C)
                        If N = 0 Then
                            N = NN(C)
                            RN = R
                        End If
                        If N > NN(C) Then
                            N = NN(C)
                            RN = R
                        End If
                End Select
            Next R
                Cells(RA, C).Interior.ColorIndex = Cells(RA, 7).Interior.ColorIndex
                Cells(RW, C).Interior.ColorIndex = Cells(RW, 7).Interior.ColorIndex
                Cells(RK, C).Interior.ColorIndex = Cells(RK, 7).Interior.ColorIndex
                Cells(RN, C).Interior.ColorIndex = Cells(RN, 7).Interior.ColorIndex
                A = 0
                W = 0
                K = 0
                N = 0
            Next C
     End If
  End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas