Saltar al contenido

Parpadeo de pantalla


Recommended Posts

Buenas tardes

¿Cómo se puede evitar el parpadeo de pantalla en cada pulsación dentro de un TextBox?

Se trata de filtros (AutoFilter) que aprendí en YouTube. Se trata de una tabla (la mía) con 21 campos y más de 20.700 registros.

Private Sub Txt_Obra_Change()
        Dim obra As String
        obra = "*" & Sheets("Proveed_Detalle").Txt_Obra.Value & "*"
        Range("A4").AutoFilter field:=18, Criteria1:=obra
End Sub

Private Sub Txt_Proveedor_Change()
        Dim proveed As String
        proveed = "*" & Sheets("Proveed_Detalle").Txt_Proveedor.Value & "*"
        Range("A4").AutoFilter field:=17, Criteria1:=proveed
End Sub

La columna 17 es la de PROVEEDOR y la 18 es la de CLIENTES.

Por cada carácter escrito en ambos textbox todo se mueve y también en el borrado de cada carácter.

Muchas  gracias desde ya.

Rubén

Captura de pantalla_20230124_141442.png

Enlace a comentario
Compartir con otras webs

 Pon esto en tu código como te muestro más abajo.      Application.ScreenUpdating = False

Private Sub Txt_Obra_Change():Application.ScreenUpdating = False
        Dim obra As String
        obra = "*" & Sheets("Proveed_Detalle").Txt_Obra.Value & "*"
        Range("A4").AutoFilter field:=18, Criteria1:=obra
End Sub

Private Sub Txt_Proveedor_Change():Application.ScreenUpdating = False
        Dim proveed As String
        proveed = "*" & Sheets("Proveed_Detalle").Txt_Proveedor.Value & "*"
        Range("A4").AutoFilter field:=17, Criteria1:=proveed
End Sub

 

Enlace a comentario
Compartir con otras webs

Muchas gracias @JSDJSD

Sin ninguna intención de ofender ni nada por el estilo, ahora el comportamiento ha empeorado un poco.

¿Si en alguna parte del código ponemos Application.ScreenUpdating=  True? Lo digo porque he  visto en algún que otro código. No por corregir a nadie.

Enlace a comentario
Compartir con otras webs

hace 19 minutos , Gerson Pineda dijo:

Por lo que puedo suponer, que tienes más procedimientos, entonces se cruzan 

En mis pruebas tampoco observo parpadeo pero creo que si su equipo es menos potente puede ser que el efecto visual al ir filtrado lo interprete como parpadeo.

 

 

Enlace a comentario
Compartir con otras webs

Buenas tardes @Gerson Pineday @JSDJSD !!

Gracias estimados...

Por un lado lamento decirte JSDJSD que con lo que me pasaste experimento el mismo problema. Algo pasa entonces con mi PC ?

Y qué placer saludarte después de tanto tiempo estimado Gerson. Tantas soluciones ya me has aportado hasta la fecha y me quedo maravillado que en tu equipo no sucede lo mismo. Pues ya no entiendo nada.

Permítanme compartirles la imagen de las propiedades de la PC. Ojalá puedan decirme si algo no es suficiente y así proceder en consecuencia.

Un fuerte abrazo a ambos en la distancia.

Rubén

Captura de pantalla_20230125_160223.png

Enlace a comentario
Compartir con otras webs

Es un gusto Ruben

Pero te reitero, lo más probable es que como solo envías una parte de tu proyecto, por eso para nosotros las pruebas no son completas

Es decir, VBA es muy quisquilloso, hasta que descubrimos los porque... 

¿Qué te recomiendo? pues ir procedimiento por procedimiento y ver donde tienes las desactivación y activación de la actualización de la pantalla y trata de corregir o si es posible, no utilizarlos, pues no siempre es necesario 

 

Enlace a comentario
Compartir con otras webs

Estimado Gerson tanto tiempo !

Bueno así como lo envié es todo el archivo y quise aplicar lo de los filtros nada más. Existe un módulo de protección de todas las hojas que podría llegar a tener dicho libro. Pero nada más. Como @JSDJSDme había solicitado que alzara el archivo, lo que tuve que hacer es borrar cierta cantidad de registros para alivianarlo.

De ahí es que no entiendo eso de "...envías solo una parte de tu proyecto". Te pido disculpas por si no lo estoy captando. Es que he visto en YouTube el video que enseña como hacerlo y lo quise aplicar a esta tabla de 21 columnas y más de 20.700 registros. Queda claro que los que enseñan como hacerlo en YouTube utilizan una tabla de 3 a 4 columnas y no tantos registros.

Una vez más, gracias por tu amable respuesta.

Rubén

 

Enlace a comentario
Compartir con otras webs

Hola Gerson !

Tengo la opción de alzarlo en la nube, pero yo suelo compartir a través de una cuenta de mail. Tengo OneDrive.

Para compartirlo aquí ¿Cómo lo hago? Una guía por favor.

Me anticipo un poco: entre tantas pruebas que estuve haciendo y con la ayuda de un conocedor de hardware tuve que salir del canal BETA del Office 365 desinstalar todo y volver a reinstalarlo. Con  el simple hecho de salir del canal BETA, persistía el problema. Entonces a desinstalar todo y volver a reinstalarlo y ahí cambió todo. 

Todo esto me parecía muy raro hasta que llegó otra sugerencia: aumentar la memoria virtual del Office 365 para Windows 11. En fin navegando en aguas extrañas estoy. Hoy lo estoy probando y lo siento estable. Sólo me queda dos opciones: es la memoria virtual o la tarjeta gráfica ya cumplió con su vida útil. ¿Ahora qué pruebas se hace para saber si el problema es la tarjeta gráfica?

Como tengo 8 GB de RAM las sugerencias piden llevarlo a 3 veces: 8x1.024 = 8.192 MB. Luego 8.192 x 3 = 24.576 MB. Pero yo lo llevé a 5 veces 8.192 x 5 = 40.960 MB.

Aquí estoy... no tengo idea de lo que pasaría más adelante.

Gerson, estimado. Ayúdame con guiarme para eso de alzar en la nube.

Muchas gracias por la paciencia de siempre.

Rubén

Captura de pantalla_20230130_103640.png

Enlace a comentario
Compartir con otras webs

hace 20 horas, RubenDario dijo:

Gerson, estimado. Ayúdame con guiarme para eso de alzar en la nube.

Muchas gracias por la paciencia de siempre.

Utiliza cualquier servidor como ondrive, dirve, dropbox, sube el archivo y lo haces público, luego comparte el enlace

 

Enlace a comentario
Compartir con otras webs

Hola amigos

Como he comentado en algunos posts, Windows 11 no termina de llevarse bien con todas las tarjetas gráficas ya que, finalmente, como dice Microsoft aún es una versión en evaluación. Eso se nota más cuando se combina Windows 11 con Microsoft 365 Insider Canal Beta, jejeje. No es una cuestión de RAM casi nunca. ¿Qué se puede hacer? Windows normalmente usa drivers genéricos para las tarjetas así que hay que ver exactamente cuál es la de uno e ir a la web oficial y descargar la última versión, que probablemente incluso sea para Windows 10, no importa. Descargar e instalar. Eso debería hacer que ese parpadeo desparezca, al menos en gran medida.

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 96 ¿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

    • Si  no me he liado con los paréntesis: Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlManual Application.EnableEvents = False If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then Range("E22") = WorksheetFunction.Sum(Range("E4:E21")) Range("E23") = WorksheetFunction.Sum(Range("E4:E19")) Range("E24") = Range("E23") - WorksheetFunction.Sum(Range("I4:I7")) Range("I22") = WorksheetFunction.Sum(Range("I4:I21")) Range("I4") = Range("E23") * 0.1 Range("I5") = Range("EN10") * Range("EN11") Range("I6") = Range("E23") * 0.0127 Range("I7") = Range("E23") * 0.006 Range("I25") = Range("E22") - Range("I22") Range("I12") = Range("E24") * 0.03 Range("C7") = Range("EQ8") - Range("EQ9") + Range("EN13") + Range("EN14") + Range("EN15") + Range("EN16") Range("C9") = Range("EQ9") + Range("EN17") + Range("EN18") + Range("EN19") Range("E7") = Range("E4") / Range("C4") * 7 / 44 * 1.5 * Range("C7") Range("E8") = Range("E4") / Range("C4") * 7 / 44 * 0.3 * Range("C8") Range("E9") = Range("E4") / Range("C4") * 7 / 44 * 1.3 * 1.5 * Range("C9") End If Application.Calculation = xlAutomatic Application.ScreenUpdating = True Application.EnableEvents = True End Sub  
    • Hola de nuevo a ambos, @daren, tu archivo lleva excesivos datos, que creo no son necesarios para la información final que buscas. Te subo otro archivo, simplificado al máximo, que, si lo he entendido bien, con esta fórmula simplificada: =CONTAR.SI('Casos de Prueba'!I:I;"OK")*('Casos de Prueba'!I1="Resultados Ciclo "&COLUMNA(A5)) se calcularía el primer dato, que se encuentra en la columna I. Copiando la fórmula a la derecha las celdas que necesites, se completaría el rango.  Tu fórmula la coloco en D7, y esta nueva en D9, que como ves (si, repito, he interpretado bien lo que buscas), da los mismos resultados. ---------------------------------------------------------------- En cuanto a: Aquí tienes, en el mismo archivo (Hoja 3) lo que devuelve tu fórmula cuando hay un determinado dato en A1 y en B2. No llego a entender qué es lo que quieres exactamente.  Tal vez con una pequeña explicación de lo que esperas obtener, sea suficiente para poner el hilo a la aguja. ? ----------------------------------------------------------------- En el caso de que falte por añadir o evaluar alguna otra variable o parámetro (en tu primer post hablabas sólo de 'OK' y ahora veo que en el archivo figuran además 'KO' y 'BLOCK'), por favor, intenta emular el ejemplo del archivo que estoy subiendo; añade EXCLUSIVAMENTE esos datos en la hoja allá donde proceda, explicando dónde o cómo deben contarse o sumarse. Mejor trabajar siempre con datos anónimos y reducidos. Desconozco si en tu archivo alguno de esos datos puede considerarse confidencial, pero seguro que no interesan a nadie. Mucho mejor obviarlos. Saludos, Plantilla V3 (B).xlsx
    • buenas noches, quisiera saber si puedo mejorar mi macros que se encuentra en el evento change de la hoja de calculo de Excel, son códigos de cálculos básicos, además si me pudieran ayudar a reducir el código o darme algún tip para reducirlo yo mismo estaría muy agradecido.  de ante mano muchas gracias     Private Sub Worksheet_Change(ByVal Target As Range)     Application.ScreenUpdating = False     Application.Calculation = xlManual     Application.EnableEvents = False              If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then             Sub todo()          Range("E22") = WorksheetFunction.Sum(Range("E4:E21"))     Range("E23") = WorksheetFunction.Sum(Range("E4:E19"))     Range("E24") = WorksheetFunction.Sum(Range("E23") - WorksheetFunction.Sum(Range("I4:I7")))     Range("i22") = WorksheetFunction.Sum(Range("I4:I21"))     Range("I4") = Range("E23") * 0.1     Range("I6") = Range("E23") * 0.0127     Range("I5") = Range("EN10") * Range("EN11")     Range("I7") = Range("E23") * 0.006     Range("I25") = Range("E22") - Range("I22")     Range("I12") = Range("E24") * 0.03     Range("C7") = WorksheetFunction.Sum(Range("EQ8") - (Range("EQ9"))) + Range("EN13") + Range("EN14") + Range("EN15") + Range("EN16")     'Range("E7") = WorksheetFunction.Sum(Range("C7") * ((Range("E4") * 0.0077777)))     Range("C9") = Range("EQ9") + Range("EN17") + Range("EN18") + Range("EN19")     'Range("E9") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 45) * 1.3) * 1.5) * Range("C9")     'Range("E8") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 45) * 0.3)) * (Range("C8"))     Range("E9") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 44) * 1.3) * 1.5) * Range("C9")     Range("E8") = WorksheetFunction.Sum(((((Range("E4") / Range("C4")) * 7) / 44) * 0.3)) * (Range("C8"))     Range("E7") = WorksheetFunction.Sum((((Range("E4") / Range("C4")) * 7) / 44) * 1.5) * Range("C7")          End Sub              End If                  Application.Calculation = xlAutomatic     Application.ScreenUpdating = True     Application.EnableEvents = True     End Sub
    • Buenas perdonad la espera adjunto el fichero Excel y explico mas detallado lo que me solicitan: Lo que me solicitan es que esos CP de la pestaña Casos de prueba los cuales tienen formulas para que cuando se copien y peguen junto a sus pasos el CP se va autoincrementando a 1,2,3 etc...., pero si copias ese CP bien solo con el primer paso o con todos sus  pasos y lo insertas entre dos CP no continua con la numeración, como se ve en la foto al hacer eso el CP insertado continua con la numeración CP2 y el de abajo pone también CP2 no se incrementa ni ese ni el valor de CU que hay a la derecha que también es incremental. Necesitaría que continuara con esa numeración aun insertándolo entre medio de 2 tanto el CP como el CU de la derecha. También me solicitan que el campo Ciclo 1 de la pestaña Resumen es auto incremental cuando copias y pegas va sumando 1, pero en las formulas referentes a Ok KO Y bloqueo al copiar y pegar se mantiene la misma formula , la idea es que cuando copies y pegues la fila donde están los ciclos se autoincremente Ciclo a 1,2,3,4 etc... y la formula de los campos OK,KO y Bloqueos se incremente también pasando de la columna I a la J  luego a la k etc... y que en Resultados Ciclo el numero de la formula también se incremente Resultados Ciclo 1 , 2 ,3 etc... que cambie la columna a la vez que el numero de Resultados Ciclo. Gracias por adelantado un saludo. Plantilla v3 Pruebas.xlsx  
    • Saludos amigos espero estén bien Estoy intentando hacer un formulario que me convierta unidades de masa sin embargo  en el mejor de los casos solo he podido lograr la conversión de una unidad a la vez en los TextBox 1, 3, 5, 7, 9, 11 y 13 y cuando lo logro el resultado que se copia  en la celda no se corresponde con el obtenido originalmente en el Textbox del Formulario (frmconv)  ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda  "F11" es  418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextBox 1, 3, 5, 7, 9, 11 y 13  para ver el resultado. Mucho les sabre agradecer la ayuda que me puedan brindar. 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.