Llenar celdas vacías con 0

Por favor ayudame solo con poner a las celdas vacías el valor 0.
Hace unos días me ayudaste con una macro, la cual la he modificado un poco(como para que copie y pegue el numero de factura, que las cantidades de productos se copien ya no por filas sino por columnas), y lo único que me falta y que no se como hacer es llenar con ceros las celdas vacías de cada fial(porque cada que se ejecuta la macro los datos se copian en una fila).
La macro la tengo de esta forma:
Sub inventario()
Application.ScreenUpdating = False
Sheets("prueba").Select
Range("A1").Select
fila = Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
If Sheets("Factura").Range("B6").Value = 0 Then
MsgBox ("No se procesa por que falta el número de Factura")
Else
Cells(fila, 1).Value = Sheets("Factura").Range("B6").Value
End If
Sheets("factura").Select
Range("B15").Select
i = 15
For i = 15 To 40
If Cells(15, 2) = "" Then
Exit Sub
Else
buscar = Cells(i, 2)
cantidad = Cells(i, 1)
Sheets("prueba").Select
Range("C1").Select
Do While ActiveCell <> buscar
If ActiveCell = "" Then Exit Do
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = cantidad
End If
Sheets("factura").Select
Next i
Application.ScreenUpdating = True
End Sub

1 respuesta

Respuesta
1
¿De qué columna quieres llenar con ceros y cuantas filas son?
La macro hace los siguiente: copia los datos de la hoja "factura" la columna(A15:A27), y las pega en la hoja "prueba" desde la fila (C2:GK2), dependiendo del código de la hoja "factura" la columna(B15:B27). Lo que quiero es que cada vez que se copien los valores en la fila, las celdas que queden vacías se llenen con 0.
Entonces si la hoja "factura" tiene:
fact#: 666
Cantidad código
12 1000
6 1003
10 1010
4 1005
La hoja "prueba" quedaría así:
fact 1000 10001 1002 10003 1004 1005 1006 1007 1008 1009 1010 1011
666 12 0 0 6 0 4 0 0 0 0 10 0
Prueba así a ver
Sub inventario()
Application.ScreenUpdating = False
Sheets("prueba").Select
Range("A1").Select
fila = Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
If Sheets("Factura").Range("B6").Value = 0 Then
MsgBox ("No se procesa por que falta el número de Factura")
Else
Cells(fila, 1).Value = Sheets("Factura").Range("B6").Value
End If
Sheets("factura").Select
Range("B15").Select
i = 15
For i = 15 To 40
If Cells(15, 2) = "" Then
Exit Sub
Else
buscar = Cells(i, 2)
cantidad = Cells(i, 1)
Sheets("prueba").Select
Range("C1").Select
Do While ActiveCell <> buscar
If ActiveCell = "" Then ActiveCell=0
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = cantidad
End If
Sheets("factura").Select
Next i
Application.ScreenUpdating = True
End Sub
Con esta nueva macro la hoja "prueba" queda así:
fact 1000 1001 1002 1003 1004 00000000000000000000000
666 1 2
Te envíe el archivo a tu correo para que lo revises mejor
Gracias
Solo le hice un pequeñísimo ajuste, y quedo excelente. Te agradezco muchísimo amigo, gracias por tu espíritu altruista. Que Dios te bendiga.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas