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