Macro para contar celdas vacías entre registros

Necesito una Macro que me cuente las celdas vacías entre datos de una columna determinada y copie ese resultado en la columna de al lado en forma secuencial

Ej: Columna X en la celda 1 encuentra un numero, en la 2 vacía, en la 3 vacía, en la 4 encuentra un numero, por lo cual habría 2 celdas vacías, ese numero de celdas vacías necesito copiarlo en la columna lindante, en este caso la Y en la fila 1. Hablo de "vacias" y no "en blanco" porque va a contar celdas con una fórmula que utiliza la doble comilla("")

Sigue contando desde donde encontró el ultimo numero y ai sucesivamente hasta finalizar el ultimo registro con datos de esa columna y los va copiando en forma secuencial en la fila lindante.

1

1 respuesta

Respuesta
2

Ya no entendí, puedes aclarar lo siguiente:

¿En la celda X2 tienes una fórmula con el resultado "" o en la celda X2 tienes la celda vacía?

Quieres copiar la celda X2 a Y1, pero qué quieres copiar, si la celda está vacía, pues no se copia nada. Si la celda tiene una fórmula y el resultado de la fórmula es "" quieres copiar la fórmula o el resultado "" (en este último caso tampoco copiaría nada).

Hola, Dante te explico, en la columna X tengo números en algunas casillas y en otras están en blanco. Estos números son producto de una fórmula.

Yo necesito recorrer y contar contar cuantas celdas vacias o en blanco (sin numeros) hay entre cada registro que tiene numeros...... X1 = 1; X2="", X3="", X4="", X5= 12 y asi sucesivamente desde la ultima celda que encontro un numero hasta la proxima, y asi hasta la ultima fila con datos de esa columna. En el ejemplo, el primer numero sería 3, dado que contaste 3 vacías entre X1 y X5, y ese numero colocarla en la hoja 2 en la celda A1 (te lo modifico, así es más sencillo), La próxima suma de celdas vacías necesito que la copies en la celda A2 en la hoja 2 hasta completar esa columna. Luego haces lo mismo con la Y y así sucesivamente pero los datos de la Y los copias en la B1 de la hoja 2. La cantidad de columnas que vas a recorrer necesito que me hagas un cuadro de dialogo para que yo establezca cuales necesito y hasta que fila

Te puse los datos de la fila-columna inicial y fila-columna final dentro de la macro, ya que no estaba en tu petición original.

Además ahora agregaste más columnas, en tu petición solamente era la columna X, sin embargo, en la macro puedes poner la columna inicial y la columna final

Sub Contar_Vacias()
'Por Dante Amor
'Macro para contar celdas vacías entre registros
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    h2.Cells.ClearContents
    fini = 1    'fila inicial
    ffin = 10   'fila fin
    cini = "X"  'columna inicial
    cfin = "Y"  'columna final
    cdes = "A"  'columna destino en hoja 2
    '
    cont = 0
    cdesn = Columns(cdes).Column
    For j = Columns(cini).Column To Columns(cfin).Column
        k = 1
        For i = fini To ffin
            If h1.Cells(i, j).Value = "" Then
                cont = cont + 1
            Else
                If cont > 0 Then
                    h2.Cells(k, cdesn).Value = cont
                    k = k + 1
                End If
                cont = 0
            End If
        Next
        cdesn = cdesn + 1
    Next
End Sub


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas