............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Tarda mucho esta macro

Ver el tema anterior Ver el tema siguiente Ir abajo

Tarda mucho esta macro

Mensaje por pacocp el Mar Oct 19, 2010 12:47 pm

Hola,

Tengo el siguiente código:

===================
Sub Cuotas()
Dim TablaCuotas (70,11)

' Rutina para alimentar la TablaCuotas
For Edad = 15 to 70
For Cobertura = 1 to 11
TablaCuotas (Edad,Cuotas) = Cells(23 + Cobertura, 4).Value
Next Cobertura
Next Edad

'Rutina para copiar los resultados a la hoja "Tarifas por Edad"
Sheets("Tarifas por Edad").Select
For Edad = 15 To 70
For Cobertura = 1 To 11
Cells(Edad - 12, Cobertura + 1).Value = TablaCuotas(Edad, Cobertura)
Next Cobertura
Next Edad
End
================

Omiti algunas líneas de código por no ser relevantes en mi problema. La situación es que ya que tengo listo la matriz "TablaCuotas" con los valores que necesito, éstos los quiero vaciar a la hoja "Tarifas por Edad" y usando el código que aqui pongo, se tarda alrededor de 25 minutos en hacerlo y no sé por qué.

¿Qué estoy haciendo mal? ¿cómo puedo bajar ese tiempo a un par de minutos cuando mucho?

Muchísimo les agradeceré la ayuda que me puedan dar (mi cliente ya se me está desesperando y yo no encuentro la salida).

Saludos.

pacocp

Masculino Cantidad de envíos : 22
Edad : 63
Ciudad - Pais : León Guanajuato, México
Version de Excel : XP-2003-2007
Fecha de inscripción : 18/01/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por moises melgar el Mar Oct 19, 2010 8:59 pm

hola sube el archivo para que el foro pueda ver como podemos ayudarte
usa Skydriver

en este tema en el cuarto mesaje menciono como subir archivos
[Tienes que estar registrado y conectado para ver este vínculo]

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por Tatayayan el Mar Oct 19, 2010 9:17 pm

Hola, esto puede ayudar

Sub MejoraTiempo()
Dim Celda As Range, Estado as integer
Estado = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreeUpdating = False
Application.Enableevents = False

'Tu código

Application.Calculation = estado
Application.Enableevents = True
Application.ScreeUpdating = True
End Sub

Tatayayan
Moderador
Moderador

Masculino Cantidad de envíos : 319
Ciudad - Pais : Chamical- La Rioja - ARG
Fecha de inscripción : 20/11/2008

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por moises melgar el Miér Oct 20, 2010 12:16 pm

Hola Tatayayan y este codigo puede servir con cualquier otro codigo??

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por Tatayayan el Miér Oct 20, 2010 12:24 pm

Hola Moises, ese código lo saqué de una macro que tenía:
Estado = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreeUpdating = False
Application.Enableevents = False

y eso sería como "un encabezado" de la macro al final se restaura, los valores del encabezado.

Tatayayan
Moderador
Moderador

Masculino Cantidad de envíos : 319
Ciudad - Pais : Chamical- La Rioja - ARG
Fecha de inscripción : 20/11/2008

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por moises melgar el Miér Oct 20, 2010 2:54 pm

aahh ya veo gracias

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por pacocp el Miér Oct 20, 2010 5:03 pm

Gracias Tatayayan, al poner el modo de Cálculo Manual se me redujo el tiempo de 25 minutos a solamente 2. Mil gracias.

pacocp

Masculino Cantidad de envíos : 22
Edad : 63
Ciudad - Pais : León Guanajuato, México
Version de Excel : XP-2003-2007
Fecha de inscripción : 18/01/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por GalileoGali el Miér Oct 20, 2010 8:32 pm

¿No podrías ademas definir el tipo de datos de tu matriz, en lugar de declararla implicitamente (variant)?

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por moises melgar el Miér Oct 20, 2010 8:49 pm

hola con lo que menciona gali

Para saber del tema Investigar en Ayuda de excel Dentro de VBa el tema Se llama "tipo de datos", en mi caso salio como el resulatado 18 ahi vienen los tipod de datos que podriamos usar.
(yo lo utilizo mucho por que no tengo internet en casa solo tengo internet en el trabajo)

y ahi tambien Se muestran ejemplos de los tipos de datos



Última edición por GalileoGali el Miér Oct 20, 2010 10:52 pm, editado 1 vez (Razón : Eliminar agregados de Links)

moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por pacocp el Miér Oct 20, 2010 9:01 pm

No sé por qué pero le puse "as Double" porque son números con 7 decimales y me marcó error, cuando le quité el tipo de datos y lo dejé Variant no me marcó error.

pacocp

Masculino Cantidad de envíos : 22
Edad : 63
Ciudad - Pais : León Guanajuato, México
Version de Excel : XP-2003-2007
Fecha de inscripción : 18/01/2010

Volver arriba Ir abajo

Re: Tarda mucho esta macro

Mensaje por Contenido patrocinado Hoy a las 12:36 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.