Así lo he hecho, he aceptado la segunda columna de anotación y he añadido una macro:
Private Sub Worksheet_Calculate()
Dim f As Long
Dim disparar As Boolean
' Si ya se disparó una vez, salimos
If Me.Range("XX2").Value <> "" Then Exit Sub
' Comprobamos si alguna W llegó a 2
For f = 2 To 6
If Me.Cells(f, "W").Value = 2 Then
disparar = True
Exit For
End If
Next f
' Si ninguna llegó a 2, no hacemos nada
If disparar = False Then Exit Sub
' Guardamos TODO el rango como base
For f = 2 To 6
Me.Cells(f, "XX").Value = Me.Cells(f, "W").Value
' Fórmula en Y restando su base
Me.Cells(f, "Y").FormulaLocal = _
"=CONTAR.SI.CONJUNTO(Datos!B:B;$V$1;Datos!D:D;$V" & f & ")" & _
"-CONTAR.SI.CONJUNTO(Datos!B:B;$V$1;Datos!E:E;$V" & f & ")" & _
"-XX" & f
Next f
End Sub
No es la opción más bonita porque sigue contando los objetos en la columna W, pero la función me resulta suficiente para poder llevar la cuenta.
Tendré que hacer una pequeña macro para cada jugadora, son 14, pero espero no tener problemas
Por
Maku, · publicado
Código Hoja: Dinámico (donde está la gráfica)
Option Explicit
Private Sub ScrollBar1_Change()
ScrollBar1.Max = Range("chrtMaxScrollBar")
'para definir el valor máximo de la barra de desplazamiento. Para hacerlo programamos elevento ScrollBar1_Change()
End Sub
Código Módulo 1
Option Explicit
Sub animate_Chart()
Dim iX As Integer, Delay As Single, Start As Single
'fijar valores del eje Y del grafico
Call fix_Y_Values
Range("chrtCounter") = 0
For iX = 0 To Range("chrtMaxScrollBar")
Range("chrtCounter") = Range("chrtCounter") + 1
Delay = 0.1
Start = Timer
Do While Timer < Start + Delay
DoEvents
Loop
Next iX
End Sub
Sub backTo0()
Range("chrtCounter") = 0
End Sub
Private Sub fix_Y_Values()
ActiveSheet.ChartObjects("chrtUSDBRL").Activate
With ActiveChart
.Axes(xlValue).MinimumScale = Range("chrtXmin")
.Axes(xlValue).MaximumScale = Range("chrtXmax")
End With
Range("A1").Select
End Sub
Gráfico Animado con ScrollBar.rar