Saltar al contenido

¿Macros o Funciones?


CECILIO

Recommended Posts

Buenas tardes tengan todos ustedes

Tengo la siguiente inquietud, tengo un libro de excel con aproximadamente 15 ,000  registros /filas  de la cual en 13 columnas uso las funciones/formulas =SI(M11028="","",BUSCARV($M11028,CUENTAABONO,2,FALSO)), y obviamente esta lentisimo el archivo, ¿trabajándolo con macros( Application.VLookup) se podría aligerar este archivo? o no habría diferencia alguna?

 

de antemano Mil Gracias

 

 

Enlace a comentario
Compartir con otras webs

Hace 14 horas, CECILIO dijo:

¿trabajándolo con macros( Application.VLookup) se podría aligerar este archivo? o no habría diferencia alguna?

Pues supongo que, optimizando al máximo el código, sí que encontrarías mucha diferencia

Enlace a comentario
Compartir con otras webs

cecilio todas las formulas que tienes en tu archivo se colocan en una macros y pesa menos tu archivo los resultados de las formulas se convierten en valor .

yo tengo un archivo con 69 mil filas y 21 columnas y pesa el archivo 6672kb 

Enlace a comentario
Compartir con otras webs

Hace 22 horas, CECILIO dijo:

Buenas tardes tengan todos ustedes

Tengo la siguiente inquietud, tengo un libro de excel con aproximadamente 15 ,000  registros /filas  de la cual en 13 columnas uso las funciones/formulas =SI(M11028="","",BUSCARV($M11028,CUENTAABONO,2,FALSO)), y obviamente esta lentisimo el archivo, ¿trabajándolo con macros( Application.VLookup) se podría aligerar este archivo? o no habría diferencia alguna?

 

de antemano Mil Gracias

 

 

La "lentitud" de los procesos en Excel, son relativos (a muchos factores y es un tema bastante largo)

Una simple función como la que estas utilizando, no debería ser la única razón de tu problema, pues Buscarv es de lo mejor que hay respecto a rendimiento, existen otras funciones mas optimizadas y que nos brindan mejores resultados, pero es cada cosa en su caso!

 

Saludos 

Enlace a comentario
Compartir con otras webs

ok Gracias a todos y a cada uno de ustedes por su valiosa sugerencia/opinión , en definitiva voy a implementar (Application.VLookup) ya les contaré como me va

y en cuanto a las características de la PC pues tengo las siguientes

Procesador:Intel(R) core (TM) i5-4460 CPU @  3.20 GHZ

Memoria instalada(RAM)8.00 GB(7.89 GB utilizable)

Tipo de sistema:Sistema operativo de 64 bits procesador x64

 

 

Enlace a comentario
Compartir con otras webs

Hace 25 minutos , CECILIO dijo:

en definitiva voy a implementar (Application.VLookup)

Como te respondí en el otro similar a este tema, Application.VLookup la sugiero para resultados de una sola celda, pues lo tuyo comentas que son mas de 15mil filas, estarías aplicando un ciclo bastante largo para aplicarlo

Tal como lo hice en "este" tu tema y como ves hay varios factores que pueden ralentizar nuestros procesos en Excel 

Saludos 

Enlace a comentario
Compartir con otras webs

Hace 3 horas, CECILIO dijo:

ok Gracias a todos y a cada uno de ustedes por su valiosa sugerencia/opinión , en definitiva voy a implementar (Application.VLookup) ya les contaré como me va

y en cuanto a las características de la PC pues tengo las siguientes

Procesador:Intel(R) core (TM) i5-4460 CPU @  3.20 GHZ

Memoria instalada(RAM)8.00 GB(7.89 GB utilizable)

Tipo de sistema:Sistema operativo de 64 bits procesador x64

Jajaja... @CECILIO, debes de estar de broma obviamente no es tu equipo el problema. Me sorprende ver que muchos usuarios tienen la idea de que necesitan grandes recursos para una hoja de calculo... sin duda debe ser algo en tu libro. So pena de no poder contar con el, seria didáctico descubrir cual es la raiz de esa lentitud que mencionas!

Saludos!

Enlace a comentario
Compartir con otras webs

Mientras más fórmulas tenga y más grande sea el campo calculado y más datos tenga el libro de excel cada vez será más lento, esto se debe a que las fórmulas se recalculan cada vez que realices un cambio o modificación. Una solución sería activar el cálculo manual, así solo se calculara cuando tu decidas actualizarlas, entonces tu libro solamente será lenta cuando actualices la Fórmula.

En lo personal me he deshecho de la mayoría de las fórmulas y aplicado macros, ya que en ellos puedo decidir cuando, donde y como actualizar los campos de datos, y he ganado velocidad en mis libros de excel.

Yo no aconsejaría la utilización de fórmulas cuando se tiene libros muy grandes, si hay oportunidad y es posible es mejor una macro.

Enlace a comentario
Compartir con otras webs

Hace 15 horas, CECILIO dijo:

así es  , realmente en ocasiones se queda como calculando y si le doy clik , me ha pasado que hasta se queda sin responder por buen rato, pero es la realidad que vivo con esta pc

Tu problema no es probablemente Excel, pueden ser otros factores

En este tema https://ayudaexcel.com/foro/topic/38083-buscarvconsultav-con-vba/ 

Te brinde esta opcion

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 1 Then Exit Sub
vuf = Range("A" & Rows.Count).End(xlUp).Row
With Range("A3:A" & vuf)
    vr = .Resize(, 2).Address
    With .Offset(, 5).Resize(, 1)
        .Formula = "=iferror(vlookup(A3, " & vr & ",2,0),"""")"
        .Formula = .Value
    End With
End With

End Sub

Y no es razón para ralentizar tus procesos

 

Suerte!

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 97 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Ya he podido, reoslverlo. Por favor dar por terminado, este tema. Muchas gracias Mariano
    • Buenas a todos, trato de transponer o pivotar el archivo que adjunto. El archivo tiene 3 columnas ( en este caso, como pueden ser más 😞 Cód.artículo, Cód.características y Valor. El objetivo es dejar como primera columna el Cód.artículo y como fila de encabezado Cód.características, y luego cruzando datos con Valor. No sé si me he explicado bien Gracias de antemano. Libro1.xlsx
    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.