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 amigos!!!
Solicito su ayuda para realizar el siguiente trabajo:
1- Necesito concatenar desde hoja "OC" hacia hoja "Oferta_de_Compra":
B2 "-" E1
B2 "-" F1
B2 "-" G1
B2 "-" ....hasta V1
Posteriormente concatenar,
B43 "-" E42
B43 "-" F42
B43 "-" G42
B43 "-" ....hasta V42
Y así consecutivamente hasta finalizar el ciclo de 41 filas, esto pegar transpuesto y se forma consecutiva
en la columna "C" desde la fila 3 de la hoja "Oferta_de_Compra".
2. Posterior al ciclo de concatenación, ordenar de mayor a menor la columa "K" desde la tercera fila.
3. En la columna "M" desde la fila 3, colocar la palabra "IVA", según corresponda de acuerdo al llenado de las otras columnas.
4. Poner un N° correlativo a partir de 1 y en función del orden de la columna "K", es decir,:
- 1 para el primer grupo de la columna "K"
- 2 para el segundo grupo de la columna "K"
- y así sucesivamente.
Este es el código que tengo hasta ahora, pero necesito incluirle otras funciones:
Sub Datos()
'
Application.ScreenUpdating = False
Set h1 = Sheets("OC")
Set h2 = Sheets("oferta_de_compra")
'
u = h2.Range("E" & Rows.Count).End(xlUp).Row
If u = 2 Then u = 3
h2.Range("E3:K" & u).ClearContents
'
n = 0
For i = 3 To h1.Range("E" & Rows.Count).End(xlUp).Row
For j = 5 To 52
If h1.Cells(i, j) = "" Then Exit For
Next
'
h1.Range(h1.Cells(i, "E"), h1.Cells(i, j)).Copy
u2 = h2.Range("E" & Rows.Count).End(xlUp).Row + 1
h2.Cells(u2, "E").PasteSpecial Paste:=xlPasteValues, Transpose:=True
u3 = h2.Range("E" & Rows.Count).End(xlUp).Row ' ACA TERMINA EL CICLO PARA PEGAR LAS CURVAS
h2.Range(h2.Cells(u2, "K"), h2.Cells(u3, "K")) = h1.Cells(i, "A") ' ACA SE PEGAN LAS TIENDAS
h2.Range(h2.Cells(u2, "F"), h2.Cells(u3, "F")) = h1.Cells(i, "D") ' ACA SE PEGA EL PRECIO COSTO
n = n + 1
If n = 38 Then
i = i + 3
n = 0
End If
Next
Amigos por favor su ayuda!!!!
Planilla.rar