Jump to content

lphant

Members
  • Content Count

    295
  • Joined

  • Last visited

Posts posted by lphant


  1. 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.


  2. 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.


  3. Hace 1 hora, Silvia dijo:

    Hola Iphant  (e Isidro 😊 ) 

     

    Yo entendí que quiere el conteo por Cliente.. 

    En ese caso,  por ejemplo si en el rango E3 : E7  tienes los códigos

    Entonces en  F3 :

    
    =CONTAR(1/FRECUENCIA(SI($A$2:$A$27=E2,COINCIDIR($B$2:$B$27,$B$2:$B$27,0)),FILA($B$2:$B$27)))

    mi separador de argumentos es la coma, si el tuyo es otro, corriges.

     

    saludos,

    Silvia

    se me olvido que es una formula matricial, ahora si funciona jejejee...

    lo dicho, muchas gracias.


  4. Hace 58 minutos , Silvia dijo:

    Hola Iphant  (e Isidro 😊 ) 

     

    Yo entendí que quiere el conteo por Cliente.. 

    En ese caso,  por ejemplo si en el rango E3 : E7  tienes los códigos

    Entonces en  F3 :

    
    =CONTAR(1/FRECUENCIA(SI($A$2:$A$27=E2,COINCIDIR($B$2:$B$27,$B$2:$B$27,0)),FILA($B$2:$B$27)))

    mi separador de argumentos es la coma, si el tuyo es otro, corriges.

     

    saludos,

    Silvia

    muchas gracias Silvia.

    Lo que intento es contar los articulos diferentes de un mismo cliente.

    no me salen los datos correctos con tu formula, he sustituido las , por ; .

    un saludo,


  5. Buenos días;

    Que tal estáis??.

    Necesito de vuestra ayuda.

    Hace tiempo hice una fórmula que hace lo que necesito pero no la encuentro y no soy capaz de volver a hacerla ( estoy espeso no lo siguiente ).

    Necesito contar las celdas diferente de la columna B en el rango/condición de la columna A.

    Os adjunto un ejemplo:

    C002 tiene que ser igual a 3.

    CLIENTE

    ARTÍCULO

    C002

    00021133

    C002

    00021135

    C002

    00021135

    C002

    00021145

    C002

    00021135


    Muchísimas gracias y un saludo,

    Libro1.xlsx


  6. En 5/7/2019 at 13:14 , Antoni dijo:

    Documéntate acerca del método Getrows del objeto Recordset que permite dejar una consulta SQL en un Array.

    Consulta cualquier tutorial de ADO en la red.

    Perdona que no te contestara antes, me he descargado un par de tutos de lo que me has dicho y....esta tarde pruebo.

    Pd: ya encontré la macro que os comenté, he intentado añadir la barra de desplazamiento horizontal ( mostrado 3 columnas ) pero me da error, me podéis ayudar??.

    Os le adjunto.

    Gracias y un saludo,

    Consulta.xls


  7. Buenos días Chic@s;

    Que tal estáis??, ya estamos a viernes ;)

    Ayer se me vino a la cabeza una mejora para una de las macros que tengo pero…..me fallan cosas.

    Tengo una macro que hace una consulta SQL a una base de datos Access, esa consulta en vez de llevármela a un Excel, quiero que me la muestre en un userform ( la cantidad de columnas y de filas a mostrar de la consulta puede variar ) y que pueda ordenar los datos al pulsar sobre el encabezado ( esto es lo que veo más difícil ).

    Lo que he hecho en alguna otra ocasión ha sido, hacer la consulta, abrir un nuevo Excel, copiar los datos en ese nuevo excel, mostrarlo en un ListBox y una vez consultado, cerrar sin guardar el Excel ( mostrarlo directamente en el listbox no se ).

    Sobre lo de ordenar tocando los encabezados, hace tiempo encontré una macro que hacía más o menos esto, creaba como una imagen y la mostraba en el userform, cuando pulsabas sobre los encabezados ordenaba los datos pero…..no la encuentro.

    El Excel de la consulta a la base de datos no os lo adjunto porque no os va a funcionar.

    Voy a seguir buscando la macro que os he comentado, en cuanto la encuentre os la adjunto.

    Un saludo,


  8. Buenas tardes Chic@s;

     

    Me podéis echar una manita a hacer una macro??.

    Estoy intentado hacer una macro que busque un dato XX ( libro 1 ) en otro libro ( libro 2) y me devuelva 2 datos del libro 2 al libro 1.

    Ahora mismo lo tengo con fórmulas y cuando tengo un libro de 1050 líneas tarda un poco, con la macro ira mejor??.

     

    Os adjunto un Excel con lo que tengo con formula.

     

    Pd: las columnas a buscar en el libro 2 no siempre están en el mismo sitio ( busco primero el título de la columna ).

     

    Un saludo,

    Pruebaaa.xlsm


  9. Hace 47 minutos , Antoni dijo:

    Todo esto está en la ayuda de Office, pero es más cómodo que lo busque otro. 🙁

     

    Mira que eres mal pensado @Antoni 😜

    Pd: aunque sobra, te aseguro que lo he mirado en varios sitios antes de preguntar pero ...... al no quedarme claro he tirado la gente que realmente sabe.

    Hace 31 minutos , Leopoldo Blancas dijo:

    Y es más cómodo que otro lo lea y nada más te de el resumen.... 😂😂😂

    ..............

    https://www.todoexcel.com/14-formas-de-acelerar-y-optimizar-tus-macros-excel/

    Gracias también a vosotros 😉


  10. Hace 1 hora, Gerson Pineda dijo:

    Hola

    La linea Application.DisplayAlerts sirve para evitar ciertas alertas [no siempre es necesario]

    La linea Application.ScreenUpdating sirve para evitar el parpadeo en la pantalla, que es el efecto que causa los proceses en la hoja, ademas esto ayuda a que Excel, lo haga mas rápido

    Ademas no es necesario ponerla en cada macro, a menos que estas sean independientes y si las llamas desde otro procedimiento, entonces desde este es suficiente tal instrucción [en resumen, no siempre es necesario pero si es buena practica]

     

    Saludos 

    Muchísimas gracias por la aclaración 😉


  11. Buenos días;

     

    Ayer me surgió una duda de principiante……

     

    Desde que empecé a hacer macros, siempre he usado las líneas “Application.DisplayAlerts = False, Application.EnableEvents = False, Application.ScreenUpdating = False” al principio del módulo para que la macro fuera más rápida ( al final del módulo volvía a activarlo).

     

    La duda que me surgió ayer fue……es necesario ponerlo en todos los módulos de la macro o solo al inicio y final del proceso de la macro??.

     

    Ejemplo:

    Si tengo una macro en un módulo que llama a otros módulos/Formularios, lo tengo que poner al principio y final del proceso o en cada módulo/formulario??.

     

    supongo que con ponerlo al inicio y final sera suficiente pero desde que tengo el office 2013 tengo tantos problemas que en la prueba que realizado no estoy seguro.

     

    Muchas gracias.

     

    Un saludo,


  12. Hace 23 minutos , Gerson Pineda dijo:

    Hola

    Si se puede, por ejemplo así:

    
    With Hoja2
        .Range("A:A").Sort .Range("A1"), xlAscending, , , , , , xlYes
    End With

    Pd: xlyes significa que la tabla tiene encabezado

     

    Saludos 

    funciona perfectamente.

    muchisimas gracias.


  13. Buenas tardes a tod@s;

    Tengo una consulta, se puede de alguna forma ordenar una columna de una hoja oculta sin desocultar dicha hoja??.

    Lo quiero para ordenar los datos obtenidos de una macro, la macro lo que hace es listar los archivos de una carpeta/subcarpeta en una hoja oculta.

    Pd: ahora mismo no tengo la macro en este ordenador pero si la necesitáis busco una antigua que tenía en este ordenador.

    Muchas gracias de antemano.

    Un saludo,


  14. En 9/5/2019 at 20:09 , Leopoldo Blancas dijo:

    Jajaja @lphant, creo que el desayuno me hizo mal... jajaja

    Olvida lo que dije y empecemos de nuevo!!! - ME DISCULPO.

    La reacción de @avalencia me hizo reaccionar...😜

    Hice desde la mañana 3 diferentes formas... te comparto la más corta....

    
    Sub Buscar_Column_LBV()
    Dim cCelda, cCol$, aDirec
        cCelda = Worksheets("Hoja1").Cells.Find("Gato", searchorder:=xlByRows, SearchDirection:=xlPrevious).Address(RowAbsolute:=True, ColumnAbsolute:=False, ReferenceStyle:=xlA1)
        aDirec = Split(cCelda, "$")
        cCol = aDirec(0)
        MsgBox "Columna:   " & cCol
    End Sub

    Saludos y Comentas.

     

    Probado, funciona perfectamente.

    Muchas gracias.


  15. Buenas tardes;

     

    Hoy estoy muy espeso y ………. no doy con la forma de buscar un valor en una fila para obtener la columna en la que se encuentra.

     

    Hace tiempo, para obtener la fila en la que se encontraba un valor sabiendo la columna, ponía la siguiente línea.

     

    Worksheets("Hoja1").Columns("A").Find("Gato", searchorder:=xlByRows, SearchDirection:=xlPrevious).Row

     

    Ahora estoy intentando modificarla para obtener la columna en la que se encuentra un valor sabiendo la fila y por más pruebas que hago no doy con ello.

     

    Me podéis ayudar??.

     

    Pd: el número de columna o la letra de la columna ( sería mejor ) lo llevo a una variable para poder usarlo.

     

    Muchísimas gracias.

    Libro4.xlsm

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5