Pregunta: | 65422 - MACRO MUY LENTA |
Autor: | Oriol Plana |
Tengo esta macro que lo único que pretende es copiar los campos de una hoja (pantalla de entrada) y copiarlos en otra a modo de base de datos (consulta). El problema es que me tarda unos 30s cada vez que la ejecuto y el aplicativo se vuelve muy pesado de utilizar. He aprendido visual en los últimos dos días y seguro que hay una forma más fácil de hacer lo que quiero. Copio la macro para ver si alguien lo puede solucionar. Muchas gracias Public Sub new_client() Dim fila_1 As Integer Dim fila_2 As Integer Dim col_1 As Integer fila_1 = 2 fila_2 = 8 col_1 = 3 While fila_1 < 1000 If Hoja3.Cells(fila_1, 2) = "" Then While fila_2 < 49 Hoja3.Cells(fila_1, col_1) = Hoja16.Cells(fila_2, 5) fila_2 = fila_2 + 2 col_1 = col_1 + 1 Hoja3.Cells(fila_1, 22) = Hoja16.Cells(54, 9) Hoja3.Cells(fila_1, 23) = Hoja16.Cells(56, 9) Hoja3.Cells(fila_1, 1) = Hoja3.Cells(fila_1, 3) + "-" + Hoja3.Cells(fila_1, 14) + "-" + Hoja3.Cells(fila_1, 15) Hoja3.Cells(fila_1, 2) = Hoja3.Cells(fila_1, 3) + "-" + Hoja3.Cells(fila_1, 15) Wend End If fila_1 = fila_1 + 1 Wend End Sub |