valor vacias tabla rellenar reemplazar para otra macro las intercaladas información dinamica cómo contenido con como ceros celdas celda blanco anterior algun excel excel-vba excel-formula

excel - vacias - Llenar cualquier celda vacía con el valor anterior



rellenar celdas en blanco con contenido de celda anterior (3)

Dado que usted solicitó VBA, hay una manera más rápida que el bucle (el equivalente de VBA de los frutos planteados anteriormente, con el paso adicional de eliminar la fórmula al final):

On Error Resume Next With Selection.SpecialCells(xlCellTypeBlanks) .FormulaR1C1 = "=R[-1]C" .Value = .Value End With

Quiero completar todas las celdas vacías usando los valores de las celdas anteriores

state name IL Mike Sam CA Kate Bill Leah

Debería ser el siguiente

state name IL Mike IL Sam CA Kate CA Bill CA Leah

Intenté lo siguiente

Sub split() Dim columnValues As Range, i As Long Set columnValues = Selection.Area Set i = 1 For i = 1 To columnValues.Rows.Count If (columnValues(i) = "") Then columnValues(i) = columnValues(i - 1) End If Next End Sub

Me sale un error cuando configuro i . ¿Cómo puedo modificar mi código?


Para aquellos que no requieren VBA para esto, seleccione Columna A, Ir a Especial ..., espacios en blanco y = , Arriba y Ctrl + Intro debería dar el mismo resultado.


Es porque debería ser definido como i=1 . Aunque hay algunos otros problemas con el código. Lo cambiaría a algo como esto:

Sub split() Dim columnValues As Range, i As Long Set columnValues = Selection For i = 1 To columnValues.Rows.Count If columnValues.Cells(i, 1).Value = "" Then columnValues.Cells(i, 1).Value = columnValues.Cells(i - 1, 1).Value End If Next End Sub