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
GRUPO AYUDA EXCEL
DIOS LOS BENDIGA Y TENGAN USTEDES UN EXCENTE DIA
TENGO EL SIGUIENTE CODIGO
Y EN RANGO DONDE DESEO COPIAR ES HASTA LA COLUMNA N =CopyToRange:=Range("A5:J2000") CAMBIO EL RANGO A "A5:N2000"
Y ME SALE ERROR QUE NO ME PERMITE EJECUTAR LA MACRO
SI ALGUIEN PODRIA AYUDAR A MEJORAR EL CODIGO O TALVEZ ESTOY OMITIENDO ALGO
DE ANTE MANO GRACIAS
Sub CONSULTA_DOC()
'
' CONSULTA_DOC Macro
'
' Acceso directo: Ctrl+Mayús+F
'
Sheets("DIARIO").Range("A5:N10000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("Z5:AA6"), CopyToRange:=Range("A5:J2000"), _
Unique:=False
Range("A6").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A6:N225").Select
ActiveWorkbook.Worksheets("CONSULTA X DOC").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CONSULTA X DOC").Sort.SortFields.Add Key:=Range( _
"A6:A225"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("CONSULTA X DOC").Sort
.SetRange Range("A5:N225")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A5").Select
End Sub
EJEMPLO.xlsm