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
Hola, tengo un problema con un bucle. El caso es que en el Mac me funciona pero en windows no.
El código es este:
Private Sub Worksheet_Calculate()
Dim KeyCells As Range
If Range("C13") = 1 Then
Range("D7").Value = Range("D7").Value - 1
End If
Do While Range("C13") = 1
Range("D7").Value = Range("D7").Value - 1
Loop
If Range("C13") = 0 Then
Range("D7").Value = Range("D7").Value + 1
End If
Do While Range("C13") = 0
Range("D7").Value = Range("D7").Value + 1
Loop
Range("D7").Value = Range("D7").Value - 1
End Sub
El caso es que quiero que cuando una celda (la C13) sea 1, me reste 1 de la celda D7, y así hasta que sea la celda C13 cero.
Una vez leído esto, en caso de ser cero la celda C13, que sume 1 a la D7 hasta que C13 sea 1, y luego le reste 1 a la celda D7.
El problema es que en windows se queda atascado sumando y restando 1, pero en el Mac no. Alguna idea?
Gracias!