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
La macro es la siguiente:
Sub Envio()
'
' Envio Macro
' Envio de hoja con datos variables
'
archivo = "C:\Consorcios\Aviso.xls"
Workbooks.Open archivo
For i = 5 To 7
Workbooks("HojaInformativacopia.xls").Activate
periodo = Cells(1, "L")
nombre = Cells(i, "E")
importe = Cells(i, "J")
deuda = Cells(i, "Q")
Total = Cells(i, "O")
direccion = Cells(i, "S")
Workbooks("Aviso.xls").Activate
Range("D9").Value = nombre
Range("I9").Value = importe
Range("I10").Value = deuda
Range("I11").Value = Total
Workbooks("HojaInformativacopia.xls").Activate
Workbooks("Aviso.xls").SendMail direccion
Next
Workbooks("Aviso.xls").Save
Workbooks("Aviso.xls").Close
'
End Sub
Basicamente lo que hace es copiar datos y dirección de mail a
otra hoja denominada Aviso, y luego enviarla a la dirección que
corresponda. Esta macro está recorriendo datos de la planilla
inicial para enviarlos a traves de la otra.
Aclaro que recién empiezo con este tema porque nunca
programé en Visual. De hecho no tengo claro que diferencia
hay entre la macro propiamente dicha y el lenguaje VBA.
He visto otro programa para hacer esto pero no hace
basicamente el trabajo que yo hago.
Aclaro que mi cuenta de mail es ciudad.com.ar y
el cliente de correo es Windows live mail.