Hola, tengo la siguiente hoja de calculo con los siguientes encabezados
COD TKT Nº
y están rellenados con los datos que necesito, solo que en la columna de COD que la uso para poner los códigos que pertenecen al TKT, estos varían para dos o tres TKT`s lo que necesito es que si la celda inferior esta vacía sea rellenada con la celda de arriba en la columna COD, para que sea mas clara mi pregunta adjunto el archivo.
gracias mil
Jesús
Adjunto | Tamaño |
---|---|
rellenar.xlsx | 10.97 KB |
Así que necesitas una macro que recorra la columna A (bueno, no hasta el final, sino donde haya datos)
Eso con un bucle for each lo tenemos hecho.
la condición, con cada celda podría ser algo así:
if celda.value="" then...
y para tomar el valor de arriba podemos emplear celda.offset(-1,0).value
El resultado final podría ser algo así
Sub rellenaloquefalta()
Dim celda As Range
For Each celda In Intersect(UsedRange, Range("A:A")).Cells
With celda
If .Value = "" Then
.Value = .Offset(-1, 0).Value
End If
End With
Next
End Sub
(en este ejemplo nos apoyamos implícitamente en que se van a recorrer las celdas de arriba a abajo con ese bucle for each, si tuviéramos que ir de abajo a arriba, podríamos utilizar un contador de filas o algo similar):
------
Ya sé Excel, pero necesito más.
Estimado Paco:
Me sale el siguiente mensaje:
" Se ha producido el error '24' en tiempo de ejecución :
se requiere un objeto "
Gracias
Jesús
Jesus Martinez Plantarosa
Bueno, yo puse el código en la hoja y entonces no necesitaba decirle explícitamente dónde estaba el rango usado, ...
prueba a cambiar UsedRange por ActiveSheet.UsedRange
Sub rellenaloquefalta()
Dim celda As Range
For Each celda In Intersect(ActiveSheet.UsedRange, Range("A:A")).Cells
With celda
If .Value = "" Then
.Value = .Offset(-1, 0).Value
End If
End With
Next
End Sub
------
Ya sé Excel, pero necesito más.
Perfecto era justo lo que necesitaba
Un saludo cordial
Jesús
Jesus Martinez Plantarosa
Muchas Gracias, funcionó perfectamente.
[comentario movido a tema nuevo en el foro http://www.necesitomas.com/agrupar-y-filtrar]
Gracias, codigo sencillo pero justamente lo requerido.
Gracias de nuevo... desde Honduras
Este código me funciona perfectamente, pero me rrelena una celda más después de que se acabaron los registros.
¿Como puedo hacer para que no rellene esa celda de más?
Acabo de postear un problema parecido a este, y creo que esto es lo que estaba buscando, haciendo un filtro para borrar unas celdas en blanco creo puedo logra lo que quiero, todavia no lo calo porque el archivo lo tengo en la maquina del trabajo, aqui lo cale con menos de mil filas y me funciono, espro qeu en el archivo que lo necesito con mas de cien mil filas no se cuelgue.