Jump to content

xboxfile

Members
  • Content Count

    161
  • Joined

  • Last visited

Everything posted by xboxfile

  1. Hola. Era lo que quería, que los Checks tuviesen código de evento click. Pensé que sería algo más simple, pero a la vista de tu código, veo que tiene su dificultad. Lo usaré para adaptarlo al proyecto. Muchas gracias. TEMA SOLUCIONADO
  2. Hola, un saludo al foro. Tengo una consulta que hacer porque no encuentro nada de esto en esta web, y lo poco que he visto por ahí no se ajusta a lo que busco. Tengo un Userform en el que se buscan unos pedidos en una tabla de una hoja, y en que el número de respuestas puede variar desde 1 resultado hasta 100, más o menos. Por esto, he creado unos Checklist que se generan en tiempo de ejecución. Hasta aquí bien, el problema es una vez creado, no sé como atrapar el evento clic, o change, ya que lo he creado en un módulo de clase pero solo responde el último Checklist, los anteriores no hacen nada. Adjunto un archivo de ejemplo que he encontrado en una web y yo he modificado. Espero haberme explicado con la suficiente claridad. Muchas gracias AddControl (2).xlsm
  3. Hola. Un saludo al foro. En respuesta a Antoni, al cual le mando mi más cordial saludo, yo he aprendido mucho de este y otros foros, y es verdad que cada vez he necesitado menos ayuda. Yo voy a exponer mis dos motivos, el primero es que cada vez hay más información por toda la red, a poco que busques encuentras. El segundo es porque la gente normal va aprendiendo a buscar antes de postear. Un saludo a todos.
  4. Version 1.0.0

    25 downloads

    Hola que tal.¿Alguna vez has trabajado con varias arrays y no te has preguntado si no podría ser que las pudieses agrupar todas en una como si fuesen las hojas de un libro? Pues esto es lo que yo me planteé un día y empecé a investigar en el tema. Tuve la necesidad de tratar cientos de datos de seis hojas de seis libros, una por cada libro. Cada hoja la puse en una array bidimensional y estas a su vez agrupadas en una Array de Arrays. Con esto tienes la ventaja de que lo puedes trabajar todo con un solo bucle, si no, tienes que crearte un código para cada hoja de cada libro. Al principio es un poco lioso, ¿pero que no es en programación cuando se empieza? Espero que os guste. Aporto esto para el foro que tanto me ha ayudado en mis inicios. Gracias.
  5. Quizás no me he explicado bien, lo que necesito es que al cargar el Listview detecte lo que haya en la celda activa, lo seleccione automáticamente, y salte el evento clic, al estilo del Listbox. El seleccionar ya lo he conseguido, pero lo del evento clic no. Lo que digo es que tiene que haber una forma de conseguirlo, pero como no lo he hecho, pues he modificado el código para que haga lo que necesito y al final me funciona, que es el código que puse arriba, ppr si a alguien le ayuda. Muchas gracias
  6. Hola que tal. Al final no he conseguido lo de actvar por código el evento clic como lo hace el Listbox. Estoy seguro que tiene que haber una mano de que se produzca. Por lo demás, he adaptado el código de otra forma y a seguir para adelante. Gracias por vuestra ayuda y si la encuentro ya lo pondré en el foro. Por mi se puede cerrar el hilo.
  7. Hola que tal. Al final no he conseguido lo de actvar por código el evento clic como lo hace el Listbox. Estoy seguro que tiene que haber una mano de que se produzca. Por lo demás, he adaptado el código de otra forma y a seguir para adelante. Gracias por vuestra ayuda y si la encuentro ya lo pondré en el foro. Por mi se puede cerrar el hilo.
  8. Hola, gracias por tu ayuda. En el ejemplo solo hay un msgbox cuando clico en un ítem del listview porque es un simple ejemplo. Ya probaré reorganizando el código como tú comentas. ¿Cual sería la sintaxis del código para que si uno de los ítems es igual a la celda activa se seleccione? Es que con los Listbox no tengo problema pero en el Listview no acabo de conseguirlo, todo lo que he visto por Internet es código para seleccionarlo a mano y no automáticamente en un if then. Gracias
  9. Una vez que ha cargado el bucle de los Items mira si la variable que carga la Celda activa al abrir el Userform tiene algo, si lo tiene, activa las macros de carga de los Listbox3 y 4 Lo pongo aquí por si le ayuda a alguien, pero es que forma parte de un Userform grande y puede que tal cuál no le funcione si alguien copia y pega: Este es el código de carga del ListView: Private Sub LlenaListView() 'Llena Listview1 según el OptionButton seleccionado Dim Item As ListItem Dim CantidadTotalStock As Double Dim x, Fila, NumTodosColores As Integer ListView1.ListItems.Clear With ListView1 .View = lvwReport '<<< Encabezados With .ColumnHeaders .Clear 'primero limpiamos y añadimos Nombre del campo y su ancho '.Add(index, key, text, width, alignment, icon) .Add Text:=HStocks.Range("B2"), Width:=130 .Add Text:=HStocks.Range("C2"), Width:=48 .Add Text:=HStocks.Range("D2"), Width:=43 .Add Text:=HStocks.Range("E2"), Width:=93 End With .HideColumnHeaders = False '<<< Encabezados a la vista .Appearance = cc3D .FullRowSelect = True .Gridlines = True x = 3 Fila = 1 Do While HStocks.Cells(x, 1) <> Empty CantidadTotalStock = CantidadTotalStock + HStocks.Cells(x, 4) NumTodosColores = NumTodosColores + 1 If HStocks.Cells(x, 1) = GruposColores(0) Or HStocks.Cells(x, 1) = GruposColores(1) Or GruposColores(0) = 10 Then Set Item = .ListItems.Add(Text:=HStocks.Cells(x, 2).Value) Item.ListSubItems.Add Text:=HStocks.Cells(x, 3).Value Item.ListSubItems.Add Text:=HStocks.Cells(x, 4).Value Item.ListSubItems.Add Text:=HStocks.Cells(x, 5).Value 'Este es el código que uso para seleccionarlo. <<<<<<<<<<<<<<<<<<<< If ListView1.ListItems(Fila) = ColorEntrado Then ListView1.SetFocus ListView1.ListItems(Fila).Selected = True ListView1.ListItems(Fila).EnsureVisible End If Fila = Fila + 1 End If x = x + 1 Loop End With 'Esta es la variable que tiene el valor de la celda activa If ColorEntrado <> "" Then MuestraFormula '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Label12 = "" Label13 = "" Label16 = NumTodosColores & " colores" Label17 = Int(CantidadTotalStock) & " kilos en total" End Sub Saludos
  10. Hola Antoni, encantado de saludarte. Es que tenía un Listbox que lo hacía saltar automáticamente, pero he cambiado a ListView por el tema de que funciona la rueda del ratón, cosa que en los Listbox no funciona, y no lo logro. Pero en este momento ya lo he solucionado, he modificado un poco la forma de proceder del código y ya está. Veo que tú no lo conseguiste a raiz de tu consulta, supongo.
  11. Hola. Gracias por tu ayuda. El código ya lo tengo, cuando carga el ListView en un bucle, si detecta que el Item que ha cargado es igual al de la celda activa, que a su vez está dentro de una variable String, lo selecciona. El problema que tengo es que no logro que se active el evento click automáticamente. Lo voy a tener que activar por código manualmente. Pongo el código: Sería dentro del bucle que carga todos los Items, la variable "Fila" es la que va contando los Items cargados: 'Este es el código que uso para seleccionarlo. <<<<<<<<<<<<<<<<<<<< If ListView1.ListItems(Fila) = ColorEntrado Then ListView1.SetFocus ListView1.ListItems(Fila).Selected = True ListView1.ListItems(Fila).EnsureVisible End If Gracias nuevamente
  12. Hola, gracias por tu ayuda. En el ejemplo solo hay un msgbox cuando clico en un ítem del listview porque es un simple ejemplo. Ya probaré reorganizando el código como tú comentas. ¿Cual sería la sintaxis del código para que si uno de los ítems es igual a la celda activa se seleccione? Es que con los Listbox no tengo problema pero en el Listview no acabo de conseguirlo, todo lo que he visto por Internet es código para seleccionarlo a mano y no automáticamente en un if then. Gracias
  13. Por cierto, menudo tesoro has puesto en el enlace. Le pegaré un vistazo. Gracias
  14. Hola, gracias por tu ayuda Virgilio. He preparado un archivo extraido del proyecto que tengo para poder publicarlo. En el archivo grande he conseguido que me señale al cargar el Item de la celda activa, pero, no sé porqué, en el ejemplo no funciona. He añadido un SetFocus. Lo del evento click automático no lo consigo. Resumiendo, lo que necesito es que al cargar me señale el artículo que tenga en la celda activa y automáticamente salte el evento click para poder mostrar una serie de datos en los Listbox 3 y 4. Me pasa exáctamente igual que a Antoni en la consulta que hizo en su día. Subo el archivo de ejemplo. Espero haberme explicado correctamente. El enlace: https://drive.google.com/file/d/1I6U3UHxbMdp535cKJ3p9-pAiEpB5QdaK/view?usp=sharing Nuevamente gracias.
  15. Hola Leopoldo, gracias por tu ayuda, no es esto, ya lo probé después de postear. Tiene que ser una tontería, pero hasta que no lo sabes te puedes volver loco. Sigo investigando
  16. Hola a [email protected] Lo primero, quería agradecer al personal de esta web que es de gran ayuda. Hacía tiempo que no preguntaba nada porque tenía suficiente con leer las anteriores preguntas, pero en esta ocasión no he encontrado nada acerca de mi duda con un control ListView. Me he iniciado con este tipo de controles por "culpa" de Antoni, es un placer saludarte, porque en una consulta le contestó a un usuario que sí se puede usar la rueda del ratón, cosa que en un Listbox, no se puede. Mi consulta es una continuidad de una que hizo Antoni en este enlace: Yo no le he conseguido. Estoy cargando datos en un lisview mediante un bucle y quiero que se seleccione un item mientras se carga y dispare el evento Click. Esto funciona en Listbox pero en listview no lo consigo. ¿Puede que tenga que hacer un bucle aparte solo para que busque la selección? En un Listbox si que funciona. Si me lo permitís, como que es muy grande el proyecto que tengo, pongo el código que uso para la carga de datos, que es lo que interesa. Do While HStocks.Cells(x, 1) <> Empty CantidadTotalStock = CantidadTotalStock + HStocks.Cells(x, 4) NumTodosColores = NumTodosColores + 1 If HStocks.Cells(x, 1) = GruposColores(0) Or HStocks.Cells(x, 1) = GruposColores(1) Or GruposColores(0) = 10 Then Set Item = .ListItems.Add(Text:=HStocks.Cells(x, 2).Value) Item.ListSubItems.Add Text:=HStocks.Cells(x, 3).Value Item.ListSubItems.Add Text:=HStocks.Cells(x, 4).Value Item.ListSubItems.Add Text:=HStocks.Cells(x, 5).Value 'Este es el código que uso para seleccionarlo. <<<<<<<<<<<<<<<<<<<< If ListView1.ListItems(x - 2) = ColorEntrado Then ListView1.ListItems(x - 2).Selected = True ListView1.ListItems(x - 2).EnsureVisible 'ListView1_ItemClick ListView1.SelectedItem End If Fila = Fila + 1 End If x = x + 1 Loop End With Muchas gracias.
  17. Hola, no quiero ser aguafiestas, pero creo que empresas como Adobe, Microsoft, etc. no lo acaban de conseguir. Si no te saltan la protección es porque no deben considerar que tenga interés como para estar dándole vueltas. Saludos y suerte con el bloqueo del archivo.
  18. Version 1.0.0

    29 downloads

    Hola que tal. Siempre vengo a este foro a buscar ayuda y siempre se me ayuda, a veces hasta recibo más de la que me esperaba, por tanto, creo que ha llegado el momento de que yo aporte algo en agradecimiento. A quien no le ha pasado que a escrito datos o manipulado algo en un archivo, ha salvado el mismo, y en la próxima vez que lo ha abierto, ¡¡¡zas!!! archivo corrupto, ha empezar de nuevo. Bueno, quizás soy un poco exagerado, pero puede pasar si no se usan métodos para que no esto pase. Se trata de una macro que cada vez que se abre el libro guarda una copia del mismo en una carpeta aparte. Usa el método SaveCopyAs. Lo bueno es que se adapta a cualquier proyecto vba que tengamos, solo hay que copiar la hoja en el mismo y poner el código para que arranque en Thisworkbook. O si lo prefieres, copias el recuadro de configuración y le das el valor solo a 3 variables para que el código empiece a trabajar. Sin más, espero que a alguien le resulte práctico, y si hay alguna duda le responderé muy gustosamente. Saludos
  19. Hola. Échale un vistazo a este enlace, yo tuve que hacer algo parecido a lo que comentas y me ayudó mucho. https://exceltotal.com/cadenas-de-texto-en-vba/
  20. Pues es verdad, es más, este ejemplo que te envié era un antiguo proyecto que por falta de conocimientos lo hice casi todo a base de fórmulas y que tu me ayudaste en alguna macro puntual que le puse. Al ir progresando lo he retomado y no hay ni una fórmula, todo código a base de buscarse uno la vida por esta página y otras. En muchas ocasiones me encuentro con soluciones que tu le has dado a otros usuarios, con gente como tu es más fácil, por eso agradecerte la ayuda en nombre de los que vamos buscando ayuda. Gracias de nuevo y un saludo
  21. Hola que tal. Ya lo he probado. Era lo que quería. La verdad es que no he encontrado mucho de este tema, el manipular desde fuera elementos de Userforms. Para quien venga buscando ayuda: Yo lo que quería es que cuando estoy trabajando en un Userform tengo la necesidad de añadir un Item a la lista de los Combos de ese user. Para ello, abro otro Userform dedicado a esto, pero el problema es que para que se viese reflejado el Item en los Combos del primero, tengo que cerrarlo y abrirlo para que se carguen los datos pero se pierden los que ya tengo rellenados. Con la solución de Macro Antonio lo que me ha permitido es que al darle al botón cerrar del segundo Userform rellena las listas de los combos del primero porque ha sacado fuera el evento que las cargaba y ha hecho públicas las variables que intervienen en el proceso. Espero haberme explicado, si alguien tiene alguna duda se lo aclaro. Gracias de verdad Macro Antonio. Hasta la próxima TEMA SOLUCIONADO
  22. Hola gracias Macro Antonio. Incluiré en el proyecto lo que me has enviado y te digo. Por si solo no funciona porque pide declarar las variables (lo tengo yo así explicitado), pero capto la idea, yo quería manipular desde fuera los combos pero no sabía como hacerlo. Lo miro y te digo. Gracias
  23. Hola que tal, un saludo a todos los foreros. Tengo unos Combobox en Userform1 que se abastecen de la entrada de datos desde el Userform2. Mi pregunta es, si se puede hacer que cuando inserte un dato a través de un botón del Userform2, automáticamente se agregue el Item en los Combobox del Userform1, pero sin que tenga que cerrar y abrir el Userform1, que es como lo hago ahora, con la consecuente puesta a cero de las variables del Userform1. Más o menos, lo que intento es una especie de refresco de las listas de los combos en el Userform1 cuando inserte los datos desde el Userform2. Puede que mi solución sea un poco disparatada y hayan otras formas de hacerlo, si alguien sabe como hacerlo de otra forma, bienvenida será. Espero haberme explicado con un poco de claridad, dejo un ejemplo lo más explícito que he podido. Enlace Drive: https://drive.google.com/file/d/0B8yKmEwRB4xHNUFBbm9LZTNMUlE/view?usp=sharing Gracias y saludos.
  24. Gracias a los dos por vuestra ayuda. Dr Hyde. Lo que pretendía era que se comportase el clic de ratón como cuando tabulas por los diversos TextBox del Userform. Tu solución es con doble clic. Gracias por supuesto. Macro Antonio. Era lo que quería, seleccionar todo el texto, pero los demás códigos me los guardo en el maletín de cosas encontradas, por si acaso (luego quizás ni las encuentras pero se queda uno a gusto, jeje). Gracias como siempre por la ayuda porque sin ella no podría hacer los diferentes proyectos que hago. TEMA SOLUCIONADO
  25. Hola Macro Antonio, lo subo otra vez con formato .xlsm. El archivo subido es de Excel 2003 porque se va a usar en esta versión. Las propiedades SelStart y SelLengt están a modo de prueba en el TextBox1 del Userform que se abre en el arranque para esta consulta pero no he conseguido lo que pretendo. Lo de la flecha si que es una sorpresa, no lo sabía. Esto sería el plan B si no se consigue lo que planteo en la consulta. El nuevo archivo: https://drive.google.com/file/d/0B8yKmEwRB4xHQVozRV9TaGZucnc/view?usp=sharing Gracias
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png