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 y todas;
-A ver si me podéis echar un cable.
Estoy intentado pasar el nombre del formulario por parámetro a un procedimiento que tengo en un módulo y me genera error y no sé porque.
Si la macro la ejecuto desde la subrutina del formulario va bien en cambio desde el módulo no va y no sé porque.
Sub EnviarHojaActiva(vForm As UserForm) 'Sub EnviarHojaActiva(UserForm1 As UserForm) <---Tampoco va Dim RutaTemporal As String, NombreArchivo As String Application.ScreenUpdating = False Application.DisplayAlerts = False NombreArchivo = ActiveSheet.Name RutaTemporal = VBA.Environ("temp") & "\" NombreArchivo = RutaTemporal & NombreArchivo & ".xlsx" ActiveWorkbook.ActiveSheet.Copy ActiveWorkbook.SaveAs NombreArchivo vForm.txtAdjunto = NombreArchivo ActiveWorkbook.Close False On Error GoTo 0 Application.ScreenUpdating = True Application.DisplayAlerts = True End SubAdjunto macro por si acaso.
Tengo otras macros donde uso
y sí me va.
¿?
MHActiva.xlsm