Macro o formula que haga coincidir una columna con otra

Tengo una tabla, con las columnas A, B Y C, que al darle clic a un botón con una macro:

  1. Elimina los nombres repetidos de la columna B y los coloca en la columna F
  2. Suma los valores correspondientes a cada nombre repetido y los coloca en las columnas G

Necesito una macro o formula que copie los datos de la columna A y los pegue en la columna E, haciéndolos coincidir con los datos de la columna F.

2 respuestas

Respuesta
1

Yeison,

Pero puede hacer que al momento de copier el nombre en F copier de inmediato

La columna A

Muéstrame tu macro si no sabe como hacerlo

Para agregarle la intrucion

Sub Macro1()
'
' Macro1 Macro
    Columns("D:E").ClearContents
    Range("A1:A100").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D1" _
        ), Unique:=True
    Range("E1") = Range("B1")
    With Range("E2:E" & Range("D2:D" & Rows.Count).End(xlDown).Row)
        .FormulaR1C1 = "=SUMIF(RC[-4]:R[8]C[-4],RC[-1],RC[-3]:R[8]C[-3])"
        .Value = .Value
    End With
End Sub

Por lo que entendí

Quiere que busque por nombre

Copie el nombre con su código

Sume la cantidades

Pegue el resultado

Prueba esta macro solo ajusta las columnas a las tuya

Sub Macro1 () 
Columns("D:E").ClearContents 
Range("A1:A100").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D1"), Unique:=True 
For Each celda In Range("D2:D100") 
If celda = Empty Then Exit Sub
Set H = Sheets("Nombre de la hoja")
Set b = H.Columns("A").Find(celda) 
If Not b Is Nothing Then 
celda.Offset(0, 1) = b.Offset(0, 1) 
celda.Offset(0, 2).FormulaR1C1 = "=SUMIF(RC[-4]:R[8]C[-4],RC[-1],RC[-3]:R[8]C[-3])" 
End If 
Next
end sub 

End Sub 

No funciona del todo bien

Me puede enviar el archivo

[email protected] para verdon esta el error y ayudarte

Respuesta
1

Prueba la macro

Sub Macro1()
'
' AOM
    Application.ScreenUpdating = False
    Columns("E:G").ClearContents
    Range("A1:B100").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("E1" _
        ), Unique:=True
    Range("G1") = Range("C1")
    With Range("G2:G" & Range("E2:E" & Rows.Count).End(xlDown).Row)
        .FormulaR1C1 = "=SUMIF(RC[-6]:R[4]C[-6],RC[-2],RC[-4]:R[4]C[-4])"
        .Value = .Value
    End With
    Application.ScreenUpdating = True
    MsgBox "fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas