Jump to content
lphant

ANSWERED Crear macro de una formula (contar diferentes )

Recommended Posts

Buenas tardes!!!

 

Me podéis echar una mano para crear una macro que haga lo mismo que la formula??.

La fórmula lo que hace es contar los artículos diferentes de un mismo cliente.

Pensaba que con la formula iba a ir muy bien pero…al tener tantas filas en algunas de las hojas ( aprox. 8000 líneas ) tarda mucho la macro.

 

Gracias de antemano.

 

Un saludo,

Ejemplo02.xlsx

Share this post


Link to post
Share on other sites
Hace 14 horas, Gerson Pineda dijo:

Hola @lphant

Hay distintas formas, te adjunto 2 con Vba y 1 con Power Query 

 

Saludos 

Contar Distintos VBA - Power Query_GP.zip 27 kB · 6 downloads

Muchas gracias @Gerson Pineda, funcionan muy bien pero para lo que tengo no me vale, tengo la hojas hojas ocultas y por ahora no quiero que se desoculten, se podría hacer de alguna otra forma sin filtro avanzado??.

Muchas gracias.

Share this post


Link to post
Share on other sites
Hace 7 horas, lphant dijo:

funcionan muy bien pero para lo que tengo no me vale, tengo la hojas hojas ocultas y por ahora no quiero que se desoculten, se podría hacer de alguna otra forma sin filtro avanzado??.

Llevas años por este foro, ya es tiempo primero que aclares con mayor explicites tus dudas, como sugerencia prueba, investiga un poco [ocultar/mostrar hojas], no esperes siempre todo ¿Te parece?

Adjunto el archivo con esas leves modificaciones

 

Saludos 

Contar Distintos VBA - Power Query_GP.zip

Share this post


Link to post
Share on other sites
Hace 15 horas, Gerson Pineda dijo:

Llevas años por este foro, ya es tiempo primero que aclares con mayor explicites tus dudas, como sugerencia prueba, investiga un poco [ocultar/mostrar hojas], no esperes siempre todo ¿Te parece?

Adjunto el archivo con esas leves modificaciones

 

Saludos 

Contar Distintos VBA - Power Query_GP.zip 31 kB · 1 download

Gracias @Gerson Pineda

Si ocultar y desocultar hojas se hacerlo pero no quería hacerlo así en esta macro.

Ya lo he solucionado con otra fórmula que no me relentiza la macro al tener muchas lineas.

Pero muchas gracias ;)

Un saludo.

Share this post


Link to post
Share on other sites
Hace 7 horas, lphant dijo:

Gracias @Gerson Pineda

Si ocultar y desocultar hojas se hacerlo pero no quería hacerlo así en esta macro.

Ya lo he solucionado con otra fórmula que no me relentiza la macro al tener muchas lineas.

Pero muchas gracias ;)

Un saludo.

 De verdad que eres una pieza especial en este universo :lol:

 

Saludos 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Buenos días!   Amigos del foro quisiera solicitarles el apoyo para resolver el siguiente problema, necesito una macro que me permita copiar de una hoja a otra si se cumplen los siguientes criterios: Si el valor en la columna G de la hoja Diario es mayor que cero, se copien los datos de Diario(hasta la ultima celda con datos) a la hoja BD pegando los datos en la ultima celda vacía de BD. Al copiar aquellos valores mayores a cero en la hoja BD quitarlos de la hoja Diario, solamente dejando los datos que contengan cero o se encuentren vacios en la columna G de la hoja Diario. Lo estuve intentando de la siguiente manera: Sub copiar2() Set J1 = Sheets("Diario") Set J2 = Sheets("BD") j = J2.Range("A" & Rows.Count).End(xlUp).Row + 1 For i = 3 To 79 If J1.Cells(i, "G") > 0 Then J2.Cells(i, "A") = J1.Cells(i, "A") J2.Cells(i, "B") = J1.Cells(i, "B") J2.Cells(i, "C") = J1.Cells(i, "C") J2.Cells(i, "D") = J1.Cells(i, "D") J2.Cells(i, "E") = J1.Cells(i, "E") J2.Cells(i, "F") = J1.Cells(i, "F") J2.Cells(i, "G") = J1.Cells(i, "G") J2.Cells(i, "H") = J1.Cells(i, "H") J2.Cells(i, "I") = J1.Cells(i, "I") J2.Cells(i, "J") = J1.Cells(i, "J") J2.Cells(i, "K") = J1.Cells(i, "K") J2.Cells(i, "L") = J1.Cells(i, "L") J2.Cells(i, "M") = J1.Cells(i, "M") J2.Cells(i, "N") = J1.Cells(i, "N") End If Next MsgBox "Valores copiados" End Sub Saludos JB Consulta copiado.xlsm
    • Hola! También puedes poner =Valor(A2), luego copiar y pegar valores
    • Cielos no se que decir, siempre me sorprenden; ambos casos son buenos. Aun no termino de analizar el código bien, pero en cuanto termine les haré saber de antemano muchas gracias.
    • Si te vas al explorador del proyecto VBA, en el árbol de módulos, puedes ver la hoja "aux"  Te adjunto otro método, trabajando con una matriz y como te lo comenté al inicio, trasladando los registros visibles   Saludos! Importar datos de otro libro.zip
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy