Hola Amigos:
Vuelvo a recurrir a Vosotros, para ver si mis complicaciones tienen alguna
solución.
Como siempre os pido que acepteis mis disculpas, si no se expresarme con
toda la claridad que sería mi deseo.
Estoy confeccionando una herramientita, para diariamente poder actualizar
una base de datos de 30.000 productos.
Tengo 2 posibles fuentes de consulta, para los datos que necesito en la hoja
1, si no lo encuentro en la 1ª base de datos (hoja 2), tiene que ir a la 2ª
(hoja 3) a realizar la operación.
La gran pega es que son 32 columnas por los 30.000 registros en filas y se
"eterniza", ya que el cálculo se va a las 5 horas y pico.
Ya que estoy empleando, (después de averiguar la cantidad de filas que son,
ya que, diariamente se crean productos nuevos:
x = 2
While Cells(x, 1) <> ""
x = x + 1
Wend
Formulas de este tipo:
=SI((INDICE('BASE_DATOS_1'!$I:$I;COINCIDIR($AM2;'BASE_DATOS_1'!$Q:$Q;0);1))=0;(INDICE('BASE_DATOS_2'!$I:$I;COINCIDIR($AM2;'BASE_DATOS_2'!$Q:$Q;1);1));(INDICE('BASE_DATOS_1'!$I:$I;COINCIDIR($AM2;'BASE_DATOS_1'!$Q:$Q;0);1)))
Con un paste & copy:
Worksheets("DL").Range("AP2:BU2").Copy _
Destination:=Range(Cells(3, 2), Cells((x - 1), 33))
Sabríais, por favor, decirme o aconsejarme algún otro sistema o si conocéis
un método diferente, para conseguir realizar esta labor recortando
sensiblemente los tiempos de cálculo ???
Mil gracias por adelantado y si (como es seguro) me he dejado algún dato sin
aportar, no dudeis, por favor, en comentarmelo.
Un reconocido abrazo.
Juan Carlos.
Leer las respuestas