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 a todos, tengo la siguiente parte de una macro y solicito su ayuda:
nombre=prueba.xslx
'creo un objeto:
Set XL = CreateObject("Excel.Application")
XL.Visible = True
'creo un nuevo libro llamado "prueba", cierro el archivo
Workbooks.Add
ActiveWorkbook.SaveAs nombre, -4143
ActiveWorkbook.Close
'abro con XL el libro creado
XL.Workbooks.Open "prueba.xslx"
'Selecciono la celda "a1" en el archivo prueba creado, hasta aquí no hay problema
XL.Workbooks(nombre).Sheets(1).Range("a1", "a1").Select
'aqui está el problema pues al ejecutar estos comandos, estos se ejecutan en el libro desde el que corro la macro
'lo que necesito es que corran desde el nuevo libro "prueba" que fue creado
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
ActiveCell.Rows("1:1").EntireRow.Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Espero que puedan ayudarme, lo que necesito es trabajar sobre el archivo que es creado por el excel.application.
Saludos,
Patricio