Función Contar.si en Macro

Tengo un archivo donde tengo una serie de datos que quiero ver si se repiten en otra columna esto lo puedo hacer manual con la función contar. Si pero quiero automatizarla ya que esta operación la realizo 20 veces al día el rango es variable. Es decir en la columna A2 empiezan mis datos y pueden terminar 10 celdas abajo o 100

Este es el codigo que hice con el grabador de macros pero no he logrado hacer que el rango "R2C1:R23C1" se actualice con los datos de la celda A2:A con la ultima fila con datos.

Sub Contar_si()

Range("F2").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(R2C1:R23C1,RC[-2])"
Range("F3").Select
End Sub

1 Respuesta

Respuesta
1

Si solamente quieres la fórmula en la celda F2:

Sub Contar_si_2()
  Range("F2").Formula = "=COUNTIF($A$2:$A$" & Range("A" & Rows.Count).End(3).Row & ",D2)"
End Sub

Si quieres cambiar la fórmula por el valor:

Sub Contar_si_1()
  With Range("F2")
    .Formula = "=COUNTIF($A$2:$A$" & Range("A" & Rows.Count).End(3).Row & ",D2)"
    .Value = .Value
  End With
End Sub

Si tienes más datos en D2 y hacia abajo:

Sub Contar_si()
  With Range("F2:F" & Range("D" & Rows.Count).End(3).Row)
    .Formula = "=COUNTIF($A$2:$A$" & Range("A" & Rows.Count).End(3).Row & ",D2)"
    .Value = .Value
  End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas