Saltar al contenido

Copiar celda superior si mi celda esta es igual a 0

publicado

Hola:

Tengo un listado, en columna, compuesto por un número, debajo de este siempre aparecerá un 0, hasta que este cambia por otro número, (esta información me la dan de un sap).

Hasta ahora y utilizando si condicional, hago que me muestre este número en la celdas cuyo valor es 0.

Cómo podría crear una macro, que me lo realizará de manera automática, es decir buscará un valor 0, y pusiera el valor numérico que en encuentre en cualquier linea superior.

Os adjunto fichero para más información.

Muchas gracias

cambia_ceros.rar

Featured Replies

publicado

Buenos días,

Prueba con esta formula =SI(C3=0;B2;C3) en la columna B3 y arrástrala.

Saludos¡¡¡

publicado
  • Autor

Disculpa, quizás no me explique, en el rar esta el libro con esa misma fórmula. Busco una macro que lo haga automático.

Nefe

publicado

Enciende la grabadora de macros.

Inserta en B3 la formula sugerida: =SI(C3=0;B2;C3)

Apaga la grabadora y tendras algo asi:

Sub Macro2()
ActiveCell.FormulaR1C1 = "=IF(RC[1]=0,R[-1]C,RC[1])"
Range("B4").Select
End Sub[/CODE]

publicado

Pega este código en un modulo y asocia la macro a un botón y ejecuta


Sub rellena()
f = 3
fi = 2
inicio:
If Cells(f, 3) = "" Then GoTo fin
If Cells(f, 3) = 0 Then GoTo asignavalor
Cells(f, 2) = Cells(f, 3)
f = f + 1
fi = fi + 1
GoTo inicio

asignavalor:
Cells(f, 2) = Cells(fi, 2)
f = f + 1
fi = fi + 1
GoTo inicio

fin:
MsgBox "Proceso terminado"
End Sub[/PHP]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.