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
Vocabulario, Glosario o Definiciones y Ayuda VBA
Las definiciones presentadas se incrementarán a media que pase el tiempo
ActiveCell.FormulaR1C1 = "Recurso" : Escribe en la celda activa "Recurso"
ActiveCell.Offset(0, 1).Select : Muevete una columna a la derecha
ActiveCell.Offset(0, -1).Select : Muevete una columna a la izquierda
ActiveCell.Offset(1, 0).Select : Muevete 1 fila hacia abajo
ActiveCell.Offset(-1, 0).Select : Muevete 1 fila hacia arriba
ActiveSheet.Paste : Pega en la Hoja activa (En la hoja q este ubicado)
ActiveWindow.DisplayGridlines = False : Ocultar el borde de las celdas
ActiveWindow.DisplayGridlines = True : Mostrar el borde de las celdas
ActiveWindow.DisplayHeadings = False : Ocultar las columnas
ActiveWindow.DisplayHeadings = True : Mostrar las columnas
ActiveWindow.WindowState = xlMaximized : Maximiza
ActiveWindow.WindowState = xlMinimized : Minimiza
ActiveWorkbook.Close : Cerrar Libro Activo
ActiveWorkbook.Save : Guardar Libro Activo
Application.CutCopyMode = False : Desahabilita copiar
Application.DisplayAlerts = False : Desacativar alertas de Excel
Application.DisplayAlerts = True : Activar alertas de Excel
Application.ScreenUpdating = False : Quitar parpadeo pantalla cuando se ejecuta la macro
Application.ScreenUpdating = True : Activar parpadeo pantalla cuando se ejecuta la macro
Call : Llamar un Procedimiento o Macro
Cells : Celda
Cells(7,2).Select : Selecciona la celda B7
Cells.Delete : Elimina todas las celdas
Cells.Select : Selecciona todas las celdas
Columns("A:I").EntireColumn.AutoFit : Margen automático desde las columnas A a la I
Columns("D:D").Select : Selecciona la Columna D
Hoja1.Name = "Inventario" : El nombre de la Hoja1 será "Inventario"
Hoja1.Visible = xlSheetVisible : Muestra la Hoja1
Hoja1.Visible =xlSheetHidden : Oculta la Hoja1
Hoja2.Cells(1, 3) = "Cantidad" : Escribe en la celda C1 "Cantidad"
Hoja2.select : Selecciona la Hoja2
Range : Rango
Range("A2:F2").Select : Selecciona de la celda A2 a la F2
Range("B7").Select : Selecciona la celda B7
Select : Seleccionar
Selection.ClearContents : Limpiar contenido o información de la celda
Selection.Copy : Copiar selección
Selection.Cut : Cortar selección
Selection.EntireColumn.Delete : Elimina la columna selecciona
Selection.Font.Bold = True : Selecciona y pone la letra en Negrita
Selection.NumberFormat = "#,##0.00" : El formato seleccionado númerico es 20.000,54
Sheets("Hoja2").select : Selecciona la Hoja2
Hoja2.select : Selecciona la Hoja2
Windows("Macros Excel.xls").Activate : Selecciona o Activa el libro "Macros Excel.xls"
Alinear el contenido al Centro With Selection
: .HorizontalAlignment = xlCenter
End With
Alinear el contenido al Izquierda With Selection
: .HorizontalAlignment = xlLeft
End With
Alinear el contenido al Derecha With Selection
: .HorizontalAlignment = xlRight
End With
MsgBox : Mensaje
MsgBox Configuración : MsgBox Mensaje, Icono, Titulo
InputBox : Caja de Texto para Introducir valores con Aceptar y Cancelar
Empty : Limpiar
End Sub