Saltar al contenido

Pasar datos seleccionados en listbox(s) multiselec a hoja de excel


Visor

Recommended Posts

publicado

Estimados amigos del foro, con el apoyo de los expertos de Ayuda Excel he podido avanzar a realizar un formulario para seleccionar preguntas manualmente y luego de escogidas poder enviar a la hoja para realizar la prueba de examen. Esta ultima parte no he podido hacer que me Funcione. Por lo tanto acudo nuevamente a sus nobles conocimientos.

Expongo el funcionamiento del archivo que subo.

Al activar el formulario se escogerá las preguntas que se desea aplicar en el examen

Luego pinchamos en el botón seleccionar, y se observara que otro formulario nos muestra lo seleccionado y también las opciones A, B, C y D ademas de la Respuesta Correcta que están en listboxes . El botón spinbutton permite desplazarse de las preguntas escogidas para ver su contenido, una vez que estamos seguros que todo esta bien, entonces hacemos click en el botón amarillo de enviar a la hoja, pero aquí esto no funciona.

Agradezco mucho su colaboración

Subo el archivo

Pasar Preguntas Seleccionadas en Listbox a hoja V2.rar

publicado

[uSER=202070]@Visor[/uSER] checa este código y me avisas si es lo que necesitas ok?

Dim Uf As Long
Dim I As Integer

With Hoja3


Uf = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 2

For I = 0 To ListBox1.ListCount - 1
.Range("A" & Uf) = ListBox1.List(I, 0)
.Range("B" & Uf) = ListBox1.List(I, 2)
.Range("C" & Uf) = ListBox1.List(I, 3)


Uf = Uf + 1

Next

End With[/CODE]

Saludos

publicado

Gracias Maestros por su enormes sentidos de apoyo

Diego 9019, saludos, tu codigo envia solo el numero y la pregunta en realidad hasta alli tambien lo he logrado pero con codigo mas extenso, entonces utilize la primera parte de tu codigo para procurar enviar a la hoja, el resto, lo probe en la hoja3 como lo has hecho puse el codigo asi:

Private Sub CmdEnviarHPSManual_Click()
Dim Uf As Long
Dim I As Integer

With Hoja3
Uf = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 2

For I = 0 To ListBox1.ListCount - 1
.Range("A" & Uf) = ListBox1.List(I, 0)
.Range("B" & Uf) = ListBox1.List(I, 2)
.Range("C" & Uf) = ListBox1.List(I, 3)
Uf = Uf + 1
Next
'OPCION A
For I = 0 To ListBox2.ListCount - 1
.Range("D" & Uf) = ListBox2.List(I, 4)
Uf = Uf + 1
Next
'OPCION B
For I = 0 To ListBox3.ListCount - 1
.Range("E" & Uf) = ListBox2.List(I, 5)
Uf = Uf + 1
Next
'OPCION C
For I = 0 To ListBox4.ListCount - 1
.Range("F" & Uf) = ListBox2.List(I, 6)
Uf = Uf + 1
Next
'OPCION D
For I = 0 To ListBox5.ListCount - 1
.Range("G" & Uf) = ListBox2.List(I, 7)
Uf = Uf + 1
Next
'RESPUESTA CORRECTA
For I = 0 To ListBox6.ListCount - 1
.Range("M" & Uf) = ListBox2.List(I, 8)
Uf = Uf + 1
Next

End With
End Sub[/CODE]

Pero no pasa nada mas que lo inicial, numero y pregunta, no pasa las opciones de cada pregunta ni las respuestas correctas que estan en los otros listboxs del mismo userform

Estimado Macro Antonio, saludos. Es interesante y genial aquella propuesta de diseño, Me agrada mucho lo de los Winddings, sin embargo, al aplicar de esa manera me tocaría sacar todos las formulas anidadas y que son extensas en cada hoja a la cual esta relacionada. Espero poder tomar la decisión de rehacer las formulas en el caso de que el formulario con el listbox, que a lo mejor sea cuestión de una sola letra y se resuelva todo.

Mil gracias

publicado

Por ejemplo ajustando el siguiente código podría evitar cambiar la estructura o diseño que tengo hecho en las hojas donde están las formulas

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True 'Para que no quede activada la celda
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub 'Sino es en columna A, sale de la macro
Target.Resize(, 26).Copy Hoja2.[A65000].End(xlUp).Offset(1) 'Copia de A a Z y pega en hoja2
End Sub[/CODE]

Sin embargo el clavo es no poder enviar las opciones que están en los listbox del userform UFSeleccionados

Archivado

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

×
×
  • 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.