Copiar fórmula en celdas vacías

Hola expertos!, nevamente necesito de vuestra ayuda. Tengo un libro con dos Hojas (Hoja1 y Hoja2), ambas hojas tienen los siguientes encabezados de columna en las siguientes celdas: C3=Nombres, D3=Apellido Paterno, E3=Apellido Materno, y solo para la Hoja2 el siguiente encabezado en B3=Conteo de Nombres.
Básicamente introduzco "n" (ene) cantidad de datos en la Hoja1, y a través de un botón que tiene grabado una macro, copio esos valores a la Hoja2 en las columnas que corresponden.
Ahora bien, en la celdas que están debajo de B3 (en la Hoja2) deseo que se realice el conteo de nombres, por ejemplo: si de C4 a C14 hay datos, que solo en las celdas paralelas, es decir, desde B4 a B14 se cuenten las veces que se repite el nombre "Luis". Osea, que a medida que se copien datos a la columna "C" (Nombres) de la Hoja2, en la columna "B" (Conteo de Nombres) de la misma hoja, se realice el conteo de cuantas veces se ingresó el nombre "Luis".
Actualmente lo hago de forma manual arrastrando la siguiente fórmula que está en B4 a medida que se van copiando los datos en la columna "C" (Nombres). Por Ejemplo: "Contando cuantas veces se ingresó un nombre determinado desde C4 hasta C14". Para  B4=Contar.si(C4:$C$4;C4), Para B5=Contar.si(C5:$C$4;C5), Para B6=Contar.si(C6:$C$4;C6), Para B7=Contar.si(C7:$C$4;C7)... Y así sucesivamente hasta B14.
Espero que me puedan ayudar. Estaré siempre agradecido!

1 Respuesta

Respuesta
1
Puedes usar el siguiente código espero te sea de utilidad
Sub RellenaCeldas()
Dim sRango As String
Range("C2").Select 'Colocamos la seleccion en la primera celda para trabajar
RAnge(Selection, Selection.End(xlDown)).Select 'Hacemos una selección expansiva para saber cual el total de celdas con datos en la columna C
sRango = Selection.Address 'Obtenemos el rango de datos de la columna C
Range("B2").Select 'Colocamos la seleccion en la primera celda para escribir la fórmula
Range("B2").Formula = "=COUNTIF(" & sRango & ",C2)" 'Escribimos la primera fórmula
Selection.AutoFill Destination:=Range(Replace(sRango, "C", "B")), Type:=xlFillDefault 'Copiamos la fórmula a todo el rango
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas