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!!
Soy bastante principiante en las macros y no se cómo resolver esta.
Tengo un libro origen que actualizo diariamente las filas ( a veces tengo que quitar registros pero la mayoría añado)
y quiero trasladar esa misma información a otro fichero histórico con las mismas columnas a otra ruta.
Me gustaría que en el libro destino tuviera un botón para importar los nuevos datos del origen si tener.
Por favor a ver si me pueden ayudar.Millones de gracias de antemano.
Conseguí esta macro por internet y la modifique para mi pero no me funciona. Me pone error sobre todo en el procedimiento que marco en verde.
Sub Importarcobros()
'Defino las variables a usar
Dim wborigen As Workbook
Dim wsorigen As Worksheet
Dim wbdestino As Workbook
Dim wsdestino As Worksheet
Dim ruta As String
ruta = "W:L\COBROS_2019 _PRUEBA_MACRO.xlsx"
'Llamamos a los datos de destino,solo tiene que estar abierto este libro
Set wblibrodestino = Workbooks(ThisWorkbook.Name)
Set wsHojaDestino = wblibrodestino.Worksheets("Cartera_actual")
'Llamamos a los datos de origen, no tiene que estar abierto este libro
Set wblibroOrigen = Workbooks.Open(ruta)
Set wshojaorigen = wblibroOrigen.Worksheet("Cartera actual")
uFila = wshojaorigen.Range("A" & Rows.Count).End(xlUp).Row
wshojaorigen.Range("A3:Z" & uFila).Copy Destination:=wsHojaDestino.Range("A" & Rows.Count).End(xlUp).Row
Workbooks(wblibroOrigen.Name).Close Savechanges:=False
End Sub