¿Existe alguna forma de simplificar y acelerar el siguiente código?

¡Que Tal Fpazos !

Con el siguiente código, realizo una serie de comprobaciones, las cuales, si se cumplen, me arrojan el resultado de una CONSULTAV o VLOOKUP.

Ahora

bien, ¿existe alguna forma de que las comprobaciones o pruebas lógicas no sean tan lentas? ¿se puede simplificar este extenso código?

Sub ClientesPrecios2()
For i = 12 To 91
Select Case Range("E8")
Case Is = "CENTRO MUEBLERO PLACENCIA SA DE CV"
If Range("AP" & i) = "--" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 19, False) * (0.86)
If Range("AP" & i) = "AG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 19, False) * (0.86)
If Range("AP" & i) = "EN" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 21, False) * (0.86)
If Range("AP" & i) = "FG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 23, False) * (0.86)
If Range("AP" & i) = "FR" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 25, False) * (0.86)
If Range("AP" & i) = "HA" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 27, False) * (0.86)
If Range("AP" & i) = "HB" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 29, False) * (0.86)
If Range("AP" & i) = "HG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 31, False) * (0.86)
If Range("AP" & i) = "HN" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 33, False) * (0.86)
If Range("AP" & i) = "HP" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 35, False) * (0.86)
If Range("AP" & i) = "MB" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 37, False) * (0.86)
If Range("AP" & i) = "ME" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 39, False) * (0.86)
If Range("AP" & i) = "MF" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 41, False) * (0.86)
If Range("AP" & i) = "MG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 43, False) * (0.86)
If Range("AP" & i) = "MO" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 45, False) * (0.86)
If Range("AP" & i) = "MP" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 47, False) * (0.86)
If Range("AP" & i) = "MS" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 49, False) * (0.86)
If Range("AP" & i) = "MT" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 51, False) * (0.86)
If Range("AP" & i) = "OK" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 53, False) * (0.86)
If Range("AP" & i) = "PN" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 55, False) * (0.86)
If Range("AP" & i) = "ZB" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 57, False) * (0.86)
If Range("AP" & i) = "ZT" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 59, False) * (0.86)
Case Is = "TABOAZAS SA DE CV"
If Range("AP" & i) = "--" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 19, False) * (0.86)
If Range("AP" & i) = "AG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 19, False) * (0.86)
If Range("AP" & i) = "EN" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 21, False) * (0.86)
If Range("AP" & i) = "FG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 23, False) * (0.86)
If Range("AP" & i) = "FR" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 25, False) * (0.86)
If Range("AP" & i) = "HA" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 27, False) * (0.86)
If Range("AP" & i) = "HB" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 29, False) * (0.86)
If Range("AP" & i) = "HG" Then Range("CT" & i) = WorksheetFunction.VLookup(Range("AD" & i), Sheets("BASE DE DATOS").Range("H15:AES10000"), 31, False) * (0.86)
If Range("AP" & i) = "HN" Then Range("CT" & i) =...

Añade tu respuesta

Haz clic para o