¿Procedimiento demasiado largo?

Nuevamente, apelando a tú valiosa ayuda, tu gran pericia.
¿Cómo puedo crear varios ciclos de un procedimiento? He intentado hacerlo de un sin fin de maneras pero no lo logro. Cuando por fin encontré una manera de hacerlo, me apareció un mensaje diciéndome: "Error de compilación: Procedimiento demasiado largo".
Y es que, tengo un filtro en el celda"J12" de la hoja "PEDIDO". Valiéndome de los resultados de ésta filtración (que aparecen desde la "AD12:AD") quiero usar la función "CONSULTAV" pero desde VBA para que se me arrojen todos los datos correspondientes a dicho resultado de la filtración, y ponerlos en la celda "B12" y en el rango "AP12:CH12", y así, hacer lo mismo para todas las demás filas, es decir, ahora con el resultado del filtro de la celda "J13" y al usar la misma función "CONSULTAV", hago que se me arrojen sus datos correspondientes en la celda "B13" y el rango "AP13:CH13". Esto quiero que se haga sucesivamente con todas las demás filas desde la "14"... Hasta llegar a la "91" ¡Aquí es donde está mi problema!
Bueno, espero me haya a entender.
Gracias anticipadas por la valiosísima ayuda que me puedas brindar.
P. D. Adjunto archivos http://www.mediafire.com/?ficgalb8t81reau

1 respuesta

Respuesta
2
Como estas amigo jorge
Disculpa el tiempo en responder, he estado bastante ocupado, y no había podido revisar tu pregunta.
De verdad que te esforzaste en escribir un código bastante largo.
Si el único problema es que te dice procedimiento demasiado largo, lo que puedes hacer es separarlo en vvarios sub procedimientos
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
    If Not Intersect(Target, Range("J12")) Is Nothing Then
        'Call MiOtroFitro(Target, 1)
        If Range("J12") = "" Then 'borro lo filtrado
            Call BorraFiltro(CalculaRan goOrigen(Range("AD12")))
        Else ' tengo que filtrar
            Call FiltraCelda(Range("J12"), Calcula RangoOrigen(Worksheets("BASE DE DATOS").Range("F3")), Range("AD12"))
    End If
    If Target = Range("J12") Then
        If Target.Value = "" Then
            Sheets("PEDIDO").Range("B12:H91") = ""
            Sheets("PEDIDO").Range("T12:CJ91") = ""
        Else
Call auxiliar1
Call auxiliar2
Call auxiliar3
end sub
sub auxiliar1()
 '   aqui pones gurpo de 10 o 20 lineas de tu codigo.
end sub
Y así sucesivamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas