A ver, para no estar adivinando o caminando a ciegas por el problema, vamos a ir a lo seguro: 1º: Indicas en la columna B: "Aquí iría la fórmula". Bien, pues te sugiero que introduzcas a mano, en B3:B10 cuáles son los resultados que esperas en cada celda, y expliques cómo y/o por qué se llega a ellos. 2º: Aclara un poco esos significados de 'Factor común 1' y 'Variable por pesos o centavos', para entender cómo juegan en las diferentes resoluciones. 3º: También sería interesante saber cómo interpretar eso de 'ojito al tema porque estos importes entre archivos pueden variar entre el 10% mayor o menor al importe pago'. Para verlo claro, introduce algún ejemplo que fuerce esa diferencia y explica cómo hay que contemplarlo y en qué interfiere para la/s fórmula/s de la columna B. 4º: Y por último, elimina (suprime) todos los datos innecesarios para componer el resultado que buscamos: por ejemplo, ese 'Íd. crédito' de la columna A, ¿aporta algo? ¿No? Pues bórralo. Ídem de lo mismo para 'Nombre' (si no se necesita, bórralo también). Veo que las columnas L y N tienen los mismos contenidos. ¿Por qué no eliminamos una de ellas? Todo lo que sea limpiar la pizarra de garabatos innecesarios, será bienvenido y agradecido. Saludos,
Por
Victor7 , · publicado el 13 de junio 13 jun
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?