Entiendo que en el momento que tuviera dos celdas consecutivas sin fórmula que tuviera que recuperar ese código que planteas no me valdría, porque estoy copiando una fórmula que no existe de la celda de arriba en la celda de abajo de ella. imagino que con borrar unas lineas te refieres a eliminar esos registros, estirar hacia abajo la tabla y en las nuevas líneas creadas añadirlos al final con los datos que tuvieran los antiguos, con las fórmulas arrastradas y creadas de nuevo. Entonces habria que escribir a mano todos los datos de cada columna a rellenar de todas las filas nuevas, dando lugar a cometer errores de copia/pega o reeescritura. Además, los registros los tengo ordenados con cierto orden , le perdería. es lo que comentaba antes, era solución funcional trabajando con un excel en el mismo idioma en los dos ordenadores, por eso esto queda descartado, ya que por lo que veo excel no reconoce las funciones de un idioma a otro. No sé, la verdad que me sorprende un poco que no se pueda hacer lo que planteo aquí al inicio.. Al final me voy a conocer todos los foros, ajja. Un saludo!
Por
MANTONIOPM , · publicado el 11 de septiembre 11 sep
Hola.
Actualmente estoy utilizando una macro para filtrar contenidos pero como la base de datos se ha hecho bastante grande tarda mas de cinco minutos en ejecutarla.
Sub Borrado_Articulos_filtro()
Dim FILAFINAL As Long
Dim X As Long
Sheets(1).Select
FILAFINAL = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For X = FILAFINAL To 2 Step -1
'VALORES COLUMNA H
If Sheets(1).Cells(X, 8) = "CG346A" Then
Cells(X, 1).Select
Cells(X, 1).EntireRow.Delete
End If
If Sheets(1).Cells(X, 8) = "ARTICULO 1" Then
Cells(X, 1).Select
Cells(X, 1).EntireRow.Delete
End If
If Sheets(1).Cells(X, 8) = "ARTICULO 2" Then
Cells(X, 1).Select
Cells(X, 1).EntireRow.Delete
End If
If Sheets(1).Cells(X, 8) = "ARTICULO 3" Then
Cells(X, 1).Select
Cells(X, 1).EntireRow.Delete
End If
If Sheets(1).Cells(X, 8) = "ARTICULO 4" Then
Cells(X, 1).Select
Cells(X, 1).EntireRow.Delete
End If
Next X
End Sub
La pregunta es:
Alguien me puede facilitar una macro que haga la misma función a través de un array de articulos u otro sistema pero que no tarde tanto en ejecutarse?