Saltar al contenido

YoelMonsalve

Miembros
  • Contador de contenido

    166
  • Unido

  • Última visita

  • Days Won

    3

2Seguidores

Sobre YoelMonsalve

  • Rango
    Miembro

Formas de contacto

  • Web http://www.yoelmonsalve.com
  • Yahoo www.gmail.com

Información de perfil

  • Sexo Hombre
  • Localización: Venezuela

Configuraciones

  • Campo que utilizas como separador de argumentos ,
  1. No consigo borrar TextBox con un evento Click

    Bueno luego de leer los otros comentarios, parecería que el evento MouseDown es el que tiene más sentido, en parecerse más al evento Click (de hecho, ¿tienen algo diferente?) Enter() que yo había propuesto, como dije, no es muy bueno porque se puede invocar de otras maneras, como Tabulando o incluso por código SetFocus(), que no debe ser la idea. Claro también queda la opción de considerar si puedes usar otros eventos como los aquí sugeridos, como Click sobre el Label, un Label transparente. Opciones hay muchas, pero es cuestión de que elijas la que más se adapta a tu diseño, tu gusto y tus intenciones. Por creatividad, prueba muchas opciones, y lo más importante elige al final aquéllo con lo que te vas a sentir realmente a gusto en tu resultado final. Y no que te quedes con esa sensación de "quisiera que hubiera sido algo más", tan desagradable. Éxito.
  2. Problemas con rango en listbox

    Pues, si no lo pides no te lo doy jaja ..... Ya puse tu "like"
  3. Problemas con rango en listbox

    Pues, no podemos dudar que el enfoque está "de lujo".
  4. No consigo borrar TextBox con un evento Click

    Hola Haplox, hace tiempo estuve enredado en un problema similar con los eventos de controles VBA. Al parecer, no todos los eventos que uno pudiera suponer están realmente disponibles para los controles. Creo que Click() no está habilitado para TextBox (pero sí para Label). Podrías probar con Enter(), que produce un efecto similar. Puesto que al hacer click sobre el TextBox, invocas automáticamente al Enter. Revisa el resultado en el archivo adjunto, el Label cambia a "Hello" cuando haces click en el TextBox, y "Bye" cuando sales de él. La posible desventaja es que Enter() se dispara por otras razones, por ejemplo al hacer Tabulador sobre los distintos controles del Userform. Prueba1.xlsm
  5. Interesante, bueno puedes dar el tema solucionado.
  6. Formula de suma en rango variable

    Hola Jesús, gusto en conocerte. La Macro FormulaSumar() del Módulo1 inserta automáticamente la fórmula que deseas, al final del campo de datos de la columna "L". Puedes aumentar la columna hacia abajo, pero siempre debe comenzar en la fila 8. Ahora, no se cómo quieres invocar la macro, si por medio de un botón, o automáticamente al llenar la hoja .... Coméntame esto, para adaptarlo. jesus-miguel-suma-ByYoel.xlsm
  7. Problemas con rango en listbox

    Hyde entiendo, sueles trabajar los datos en grupos, creando memoria virtual para ellos. Si mal no recuerdo ofreciste una solución de ese tipo en un post hace poco. Y usar las funciones de Hoja de Cálculo de Excel (vLookUp) cuando sea posible. Olguita, que bueno te haya ayudado, en mi particular agradecería si me dieras un "like" y si ya está listo podrías dar el tema cerrado.
  8. ayuda con validacion de fechas para textbox II

    Mmmmm, raro, déjame revisar. Ok, había unos problemitas con las columnas, tenías "n" y "o", creo que deben ser "k" y "l". Para evitar esto, te puse al inicio del código dos constantes llamandas ColPago y ColVence, simplemente cambia estos valores a los requeridos y serán tomados como tal por el resto del código (pues en las líneas subsiguientes hacemos referencia a estos nombres ColPago y ColVence, más bien que las constantes de letra). Vi que quitaste el "VENCIDA", obviamente para que no te sobreescriba las columnas, y ahora simplemente se marca de amarillo en la columna K aquéllas facturas vencidas y sin pago. Además, moviste el código al códulo de código Módulo1, no debe estar ahí sino en el módulo de Hoja2 (CXC). Revisa y avisa si quedó solucionado! CARTERA2017.xlsm
  9. Problemas con rango en listbox

    Hola Hyde, bueno yo creo que este sería un tema cuya conclusión definitiva requeriría extensa investigación, y hacer pruebas comparativas con distintos modelos de código, en la misma máquina y bajo las mismas condiciones, para tomar el tiempo consumido por cada una. En una cantidad de datos pequeño por supuesto no se apreciaría ninguna diferencia, pero sí en una más grande. Ahora, aquí surge un punto interesante, por ejemplo si voy a procesar miles de datos en memoria es más rápido emplear Collection(), que el objeto Array() y programar algoritmos de búsqueda? Usar métodos de las clases ya provistas por VB, o programar data "en bruto" (como en los lenguages antiguos)? Utilizar eficientes algoritmos de ordenamiento para que los duplicados queden consecutivos, y poder eliminarlos fácilmente ? Es un campo amplio y son preguntas bastante abiertas que quizá superen el alcance y propósito de este post, pero si alguien quieren hacer la investigación del tema, y publicar sus resultados aquí sería genial!!, porque ya tendríamos una base de conocimiento sólida que aplicar en nuestros futuros trabajos (aunque yo personalmente no quiero dedicar 100hr de investigación a aclarar definitivamente este punto). Y cuánto a los estilos soy un poco más afin a la manera de Hyde que Antonio, no me gusta para nada estar creando objetos ocultos, después borrarlos, etc. Pero es cuestión personal de cada uno, pienso que cualquier estilo es indiferente siempre y cuando funcione y sea un código "razonablemente" posible de comprender. A menos que el rendimiento sea una variable crítica, en cuyo caso hemos de investigar por métodos eficaces en el sentido de lo expuesto en párrafos anteriores. Saludos a todos.
  10. POSDATA =============================== Debo aclarar que no soy un experto en gráficos e imágenes (ese es un terreno más amplio de la informática), pero vi que se utiliza el método .CopyPicture del Range para exportar una sección de la Hoja de Cálculo como Imagen. No se si exista una manera de configurar mediante código las características de la exportación, como tamaño, formato y resolución de imagen. Si alguien sabe cómo hacerlo, se agradece .... saludos
  11. Hola Haplox, no se si esto te servirá mucho pero una idea puede ser guardar y recortar las vistas previas, pero en formato PNG. Guardas todas tus imágenes en una carpeta. EL objeto ImageBox por defecto no acepta formato de imagen *.png (o hasta las anteriores versiones de Excel así era, no estoy enterado hoy día), pero hace tiempo al buscar en internet conseguí un código de terceros que define un procedimiento para permitir cargar imágenes de otros formatos distintos a *.jpg, se llama LoadPictureGDI(), en lugar de LoadPicture(). Debes crear un módulo de código MLoadPictureGDI en tu proyecto, tal como hago en el archivo de muestra, y copiar el código correspondiente dentro de él. Luego, en el formulario, la instrucción: Set Image1.Picture = LoadPictureGDI( ruta_archivo ) incluyendo en la ruta del archivo el directorio completo, en tu caso era C:\temp, en el mío lo coloqué en la misma ruta del libro ThisWorkbook.Path Eso sí, debes procurar que el tamaño del ImageBox sea el mismo de la imagen recortada que guardaste, pues configuramos el ImageBox con Zoom o Stretch, la imagen no se ve bien. En mi opinión el resultado es bastante bueno, descarga ambos el *.xlsm adjunto y el *.png y ponlos en la misma carpeta, abre el Excel e invoca el formulario. Saludos y espero te haya sido útil este aporte. Haplox-Imagenes-ByYoel.xlsm
  12. Problemas con rango en listbox

    Buena esa Antonio. Supongo que mejor dejamos la tarea de comprobación al método ListIndex del ComboBox (quién internamente realizará la verificación), lo cual en términos de rendimiento debería ser más rápido que hacerlo nosotros con loops manuales. Pero creo que tendríamos un problema, si el valor no existe igual se lo estamos dejando al ComboBox (que no debería ser). Tomando tu idea, yo lo adaptaría: Ult_valor = ComboBox1 ComboBox1 = valor If ComboBox1.ListIndex = -1 Then MsgBox "El valor no existe" ComboBox1 = Ult_valor Else MsgBox "Valor encontrado en elemento " & ComboBox1.ListIndex End If
  13. Problemas con rango en listbox

    Hola olguita, gusto en conocerte. Bueno, además de lo que aportó Dr. Hyde, estuve examinando el código y aunque técnicamente funciona, la parte del llenado del Combobox2 resulta un poco "ruda". Pues lo hacen a través de Instrucciones On Error, que no me parece muy aconsejable pues el programa debe evitar la aparición de errores, y no generarlos intencionalmente. Una alternativa más o menos parecida sería: ComboBox2.Clear For i = 1 To DATOS.Rows.Count nombre = DATOS.Cells(i, 2) For j = 0 To ComboBox2.ListCount - 1 If ComboBox2.List(j) = nombre Then Exit For Next If j = ComboBox2.ListCount Then ComboBox2.AddItem nombre Next i que inspecciona si el elemento existe en el List(), y sólo en caso contrario lo agrega. Podría hacerse de otras maneras (por ejemplo con Arrays) pero sería complicar el asunto. Incluyo el archivo con todas las modificaciones. Thanks! EJEMPLO LISTAS.xlsm
  14. ayuda con validacion de fechas para textbox

    Iba por lo mismo. Tuve que haber escrito: If FechaPago = "" And Date > FechaVenc Then ... en lugar de simplemente If FechaPago = "" Then. Es decir, si la fecha de vencimiento ya pasó y sigue sin ser pagada. Adjunto archivo modificado. ValidarFechas-2-byYoel.xlsm
  15. Estimado @Lug Barry, sus dos mensajes anteriores ya fueron reportados a Administración. Usted está quedando muy mal con esa actitud, cese sus ataques o pediré sea suspendido. Su participación en nada ayuda a esta comunidad, sólo se dedica a pedir ayuda de los colaboradores, y cuando no se la dan, instigar conflictos y rivalidades entre los participantes. No cometeré el error de dejarme arrastrar a este juego en contra del amigo Antonio, cada uno de nosotros tiene qué aportar en su campo, y no es el foro para protagonizar peleas. Le pido que recapacite, o sino que lo suspendan.
×