Copiar las celdas y sumar las filas en macro?

Te voy explicar lo que hago en el excel tengo eso ejemplo

1.- Copiar la columna B (Equipo) a la D y eliminar duplicados

2.- Copiar la columna A (Año) a la fila 3 a 8, pegar con transponer a la columna E y a la fila 2.

3.- Colocar el numero 1 en cada una de las filas (E - J) a los equipos campeones por año

4.- Sumar el total del campeonatos ganados por equipo

Quiero que haga un macro

1 Respuesta

Respuesta
2

Prueba la siguiente macro

Tus datos deben esta como en tu ejemplo, es decir, el primer año debe empezar en la celda A3.

Sub SumarCampeones()
  Dim lr As Long, lc As Long, lr2 As Long
  '
  lr = Range("A" & Rows.Count).End(3).Row
  Application.ScreenUpdating = False
  Range("D2", Cells(Rows.Count, Columns.Count)).ClearContents
  Range("A3:A" & lr).Copy
  Range("E2").PasteSpecial xlPasteValues, , , True
  lc = Cells(2, Columns.Count).End(1).Column
  '
  Range("B3:B" & lr).Copy Range("D3")
  With Range("D3:D" & lr)
    .Sort Range("D3"), xlAscending, Header:=xlNo
    .RemoveDuplicates Columns:=1, Header:=xlNo
    .Copy Cells(3, lc + 2)
  End With
  '
  lr2 = Range("D" & Rows.Count).End(3).Row
  With Range("E3", Cells(lr2, lc))
    .Formula = "=COUNTIFS($B$3:$B$" & lr & ",$D3,$A$3:$A$" & lr & ",E$2)"
    .Value = .Value
    .Replace 0, ""
  End With
  '
  With Range(Cells(3, lc + 3), Cells(lr2, lc + 3))
    .Formula = "=SUM(E3:" & Cells(3, lc).Address(0, 0) & ")"
    .Value = .Value
  End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas