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

Agilizar los procesos para macros

Ver el tema anterior Ver el tema siguiente Ir abajo

Agilizar los procesos para macros

Mensaje por pedrosilv el Jue Sep 10, 2009 5:38 am

Buen día a todos.

Recurro nuevamente a ustedes, quizás puedan ayudarme en lo siguiente.

Tengo un formulario con varias secciones, y con la ayuda de los maestros Galileo Galy y Abraham Valencia, logré hacer que con una macro pudiera ir guardando en la hoja "Basedatos" los datos que se fueran introduciendo en él. El problema surge ahora en las siguientes cuestiones:

a) Por ser muchos datos o rangos, los códigos que utilizo son muchos( aunque son repetitivos), lo que hace que la macro se tarde mucho en hacer el proceso de guardar datos. Quisiera que me sugirieran alguna forma de hacer más rápido ese proceso de guardado

b) Al momento de dar la orden de Guardar, inmediatamente me sale un mensaje que dice "No se puede cambiar parte de una celda combinada". He estado buscando a que se debe pero no encuentro la razón de ese mensaje.

c) Al finalizar, en la macro le doy la indicación que me borre los valores de ciertas celdas pero la macro no lo hace, y no entiendo a que se deba.

Agradecería mucho si alguien me pudiera dar sus sugerencias para algunas de estas cuestiones. Van a disculpar si les robo un poco de su tiempo.

Acá está el enlace del archivo:



De antemano, muy agradecido por sus sugerencias y ayuda.

pedrosilv

Masculino Cantidad de envíos : 85
Edad : 31
Ciudad - Pais : Guatemala
Version de Excel : 2003-2007
Fecha de inscripción : 16/04/2009

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por P@li el Jue Sep 10, 2009 9:16 am

Hola Pedro,
No tengo instalado el Excel 2007 en la oficina, si lo exportás a Excel 2003 voy a poder verlo y me fijo si encuentro el problema.

Saludos.

P@li
Admin

Masculino Cantidad de envíos : 238
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por avalencia el Jue Sep 10, 2009 2:38 pm

Hola. En lo posible hay que evitar el seleccionar hoja, rangos, etc, eso siempre causa mayor tiempo en el desarrollo de la macro. Puedes dejar asi algunas lineas por ejemplo:

[C9].Copy Destination:=Worksheets("BASEDATOS").[A65536].End(xlUp).Offset(1, 0)
[C5].Copy Destination:=Worksheets("BASEDATOS").[B65536].End(xlUp).Offset(1, 0)
[H5].Copy Destination:=Worksheets("BASEDATOS").[C65536].End(xlUp).Offset(1, 0)

Otra cosa, para borrar celdas combinadas, tienes que usar el rango combinado completo. Por ejemplo, para borrar tu celda combinada que aparentemente es C9, no te serviria:

[C9].ClearContents

Sino mas bien:

[C9:E9].ClearContents

Bueno, esas son la cosas que vi asi rapidito nomas

saludos

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 38
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por pedrosilv el Jue Sep 10, 2009 2:53 pm

Gracias maestro Valencia, muy amable de su parte,

Voy a seguir su consejo, solo me queda una pequeña duda, cuando copiaba valores de una celda provenientes de una formula, al momento de grabarla en la hoja "BASEDATOS" se copiaba como formula, entonces para solucionalrlo tengo que utilizar este código?

[AE65536].End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True

pedrosilv

Masculino Cantidad de envíos : 85
Edad : 31
Ciudad - Pais : Guatemala
Version de Excel : 2003-2007
Fecha de inscripción : 16/04/2009

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por avalencia el Jue Sep 10, 2009 5:01 pm

OJO, es mas facil aun, ya que solo quieres el valor de esa formula, algo asi bastara:

Sheets("BASEDATOS").[AG65536].End(xlUp).Offset(1, 0)=[E94]

Otra cosa, si en las cuestiones de mi primera respuesta solo quieres del mismo modo los valores, basta hacer algo parecido a lo que acabo de escribir. Recuerda que el copiar (a secas), copia tambien los formatos.

Abraham

avalencia
MS MVP
MS MVP

Masculino Cantidad de envíos : 99
Edad : 38
Ciudad - Pais : Lima - Peru
Version de Excel : 2003 - 2007 - 2010
Fecha de inscripción : 28/06/2009

http://abrahamexcel.webcindario.com/

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por pedrosilv el Jue Sep 10, 2009 5:06 pm

Perfecto maestro, muchas gracias y eternamente agradecido

Saludos desde Guatemala

pedrosilv

Masculino Cantidad de envíos : 85
Edad : 31
Ciudad - Pais : Guatemala
Version de Excel : 2003-2007
Fecha de inscripción : 16/04/2009

Volver arriba Ir abajo

Re: Agilizar los procesos para macros

Mensaje por Contenido patrocinado Hoy a las 11:27 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.