Macro para encontrar celda vacía y pegar valor de celda de arriba

Esperando se encuentren muy bien, acudo a ustedes ya que tengo un problema con un código de VBA en excel y es que tengo un reporte en el cual en la columna DE hay algunas filas hacia abajo que están vacías o en cero, en estas filas lo que he tratado de hacer en el código es que cada que encuentre estas celdas copie el valor de la celda de arriba (en especifico es el valor de la celda B, C y DE que se encuentren arriba) no he tenido el resultado deseado y quisiera saber si alguno de ustedes pudiera apoyarme.

ValorBuscado = ActiveCell.Value

Do While ActiveCell.Value <> "" '  o esta linea  Do Until o Do
If IsEmpty(ValorBuscado) Then ' o esta linea If InStr(ValorBuscado, "0") Then ' If IsEmpty Then
ActiveCell.Offset(-1, -3).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
End If ' Exit Do
ActiveCell.Offset(1, 0).Select
Loop

2 respuestas

Respuesta
1

Te anexo la macro

Sub Copiar_Valor_De_Arriba()
'Por Dante Amor
    For i = 2 To Range("D" & Rows.Count).End(xlUp).Row
        If Cells(i, "B").Value = "" Or Cells(i, "B").Value = 0 Then
            Cells(i, "B").Value = Cells(i - 1, "B").Value
        End If
        If Cells(i, "C").Value = "" Or Cells(i, "C").Value = 0 Then
            Cells(i, "C").Value = Cells(i - 1, "C").Value
        End If
        If Cells(i, "D").Value = "" Or Cells(i, "D").Value = 0 Then
            Cells(i, "D").Value = Cells(i - 1, "D").Value
        End If
    Next
    MsgBox "Fin"
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda
Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas