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
Aunque ya existe el método de seleccionar todas las hojas y dar el comando control+b, les comparto esta forma..
podemos crear un botón en nuestra hoja de calculo para no entrar hasta el código.
Sub Macro1()
Dim x As String, Hoja As Worksheet, Nombre As String, msg As String
Nombre = InputBox("Introduce el nombre o dato a buscar:")
For Each Hoja In ThisWorkbook.Worksheets
On Error Resume Next
If Nombre <> "" Then
x = Hoja.Cells.Find(What:=Nombre, _
After:=Hoja.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).Address
If Err.Number = 0 Then
If msg = "" Then _
msg = "se ha encontrado el texto buscado en:" _
& Chr(13) & Chr(13)
msg = msg & Hoja.Name & "!" & x & Chr(13)
End If
End If
On Error GoTo 0
Next Hoja
If msg <> "" Then MsgBox msg
End Sub
saludos