Copiar listbox a otra listbox vba
juliet
-
juliet -
juliet -
Hola,
Quisiera copiar el contenido de un listbox a otro listbox de un userform diferente, con la ayuda de un commandbutton.
Lo que he escrito no funciona. ¿Hay algo que cambiar en la propiedad del listbox? Porque cuando lo hago con textbox funciona.
Private Sub CommandButton1_Click()
Moyennehistorique.ListBox2.Value = Me.ListBox1.Value
End Sub
Muchas gracias
Configuración: Windows XP / Internet Explorer 8.0
Quisiera copiar el contenido de un listbox a otro listbox de un userform diferente, con la ayuda de un commandbutton.
Lo que he escrito no funciona. ¿Hay algo que cambiar en la propiedad del listbox? Porque cuando lo hago con textbox funciona.
Private Sub CommandButton1_Click()
Moyennehistorique.ListBox2.Value = Me.ListBox1.Value
End Sub
Muchas gracias
Configuración: Windows XP / Internet Explorer 8.0
8 respuestas
""Valor" en una lista desplegable representa únicamente el valor seleccionado.
¿Quieres copiar todo el contenido (es decir, la lista completa)? ¿O solo el valor seleccionado?
¿Quieres copiar todo el contenido (es decir, la lista completa)? ¿O solo el valor seleccionado?
copia el contenido de listbox1 en listbox2 :
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
ListBox2.AddItem ListBox1.List(i)
Next
diviértete bien
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
ListBox2.AddItem ListBox1.List(i)
Next
diviértete bien
Gracias, pero no funciona, escribí esto:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To historiqueetm.ListBox1.ListCount - 1
Me.ListBox1.AddItem historiqueetm.ListBox1.List(i)
Next
End Sub
Porque son 2 userforms diferentes.
Muchas gracias
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To historiqueetm.ListBox1.ListCount - 1
Me.ListBox1.AddItem historiqueetm.ListBox1.List(i)
Next
End Sub
Porque son 2 userforms diferentes.
Muchas gracias
no funciona = ¿qué?
un mensaje de error, o no hace nada?
de lo contrario, "Me." no es necesario. ¿y cómo se carga históricoetm?
un mensaje de error, o no hace nada?
de lo contrario, "Me." no es necesario. ¿y cómo se carga históricoetm?
Acabo de quitar el Me, pero aún no hay nada.
No tengo un mensaje de error, pero no pasa nada.
No entiendo cómo se carga??
Gracias
No tengo un mensaje de error, pero no pasa nada.
No entiendo cómo se carga??
Gracias
euh, bien si no da mensaje de error, eso significa que funciona
pero tu listbox fuente no contiene ningún valor, cuando pregunto cómo se carga, quiero decir cómo se alimenta el contenido de la listbox?
todos los botones, listbox, combobox, textbox, etc. son controles.
en un userform de Excel, debe ser inicializado (cargado, alimentado) para poder leer el contenido de este control.
la ventaja de Excel es que una vez que un userform está cargado, y que sus controles están inicializados, puedes cerrar este userform y llamar los valores de este userform en otros userforms, pero no se debe permitir que el procedimiento de cierre vacíe los controles, o que la alimentación del control sea dinámica y dependa de otros valores.
añade
Msgbox históricoetm.ListBox1.ListCount
en la primera línea del clic del botón
te hará un popup con el número de líneas vistas en la listbox.
si es 0 o -1 eso significa que la listbox no está inicializada.
tendrás que dar más información sobre cómo abres tus userforms, más código.
pero tu listbox fuente no contiene ningún valor, cuando pregunto cómo se carga, quiero decir cómo se alimenta el contenido de la listbox?
todos los botones, listbox, combobox, textbox, etc. son controles.
en un userform de Excel, debe ser inicializado (cargado, alimentado) para poder leer el contenido de este control.
la ventaja de Excel es que una vez que un userform está cargado, y que sus controles están inicializados, puedes cerrar este userform y llamar los valores de este userform en otros userforms, pero no se debe permitir que el procedimiento de cierre vacíe los controles, o que la alimentación del control sea dinámica y dependa de otros valores.
añade
Msgbox históricoetm.ListBox1.ListCount
en la primera línea del clic del botón
te hará un popup con el número de líneas vistas en la listbox.
si es 0 o -1 eso significa que la listbox no está inicializada.
tendrás que dar más información sobre cómo abres tus userforms, más código.
Gracias por estas precisiones,
he añadido MsgBox históricoetm.ListBox1.ListCount
y me ha dado 0.
En tengo un commandbutton en un userform que abre 3 userforms diferentes:
Private Sub CommandButton1_Click()
históricoetm.Show
histórico granulo.Show
históricos químicos.Show
Dim i As Integer
MsgBox históricoetm.ListBox1.ListCount
For i = 0 To históricoetm.ListBox1.ListCount - 1
ListBox1.AddItem históricoetm.ListBox1.List(i)
Next
End Sub
En estos 3 userforms, hay una listbox que se alimenta así:
Private Sub UserForm_activate()
TextBox1.Enabled = False
i = 4
If TextBox1.Value = "SIL9" Then
Do While Worksheets("análisis químicos").Cells(3, i) <> ""
If IsNumeric(Worksheets("análisis químicos").Cells(3, i).Value) Then
ListBox1.AddItem Worksheets("análisis químicos").Cells(2, i).Value
End If
i = i + 1
Loop
End If
se repite aproximadamente 70 veces y eso funciona impecablemente
End Sub
Al principio no había hecho 3 userforms diferentes, pero escribía directamente en mis listbox, pero al final me dijo procedimiento demasiado largo, por eso llegué a 3 userforms diferentes.
y en realidad quiero que los datos de mis 3 userforms estén en mis 3 listbox del userform de inicio y me gustaría que estos 3 userforms no aparecieran.
Espero haber sido claro ...
Gracias por tu comprensión.
he añadido MsgBox históricoetm.ListBox1.ListCount
y me ha dado 0.
En tengo un commandbutton en un userform que abre 3 userforms diferentes:
Private Sub CommandButton1_Click()
históricoetm.Show
histórico granulo.Show
históricos químicos.Show
Dim i As Integer
MsgBox históricoetm.ListBox1.ListCount
For i = 0 To históricoetm.ListBox1.ListCount - 1
ListBox1.AddItem históricoetm.ListBox1.List(i)
Next
End Sub
En estos 3 userforms, hay una listbox que se alimenta así:
Private Sub UserForm_activate()
TextBox1.Enabled = False
i = 4
If TextBox1.Value = "SIL9" Then
Do While Worksheets("análisis químicos").Cells(3, i) <> ""
If IsNumeric(Worksheets("análisis químicos").Cells(3, i).Value) Then
ListBox1.AddItem Worksheets("análisis químicos").Cells(2, i).Value
End If
i = i + 1
Loop
End If
se repite aproximadamente 70 veces y eso funciona impecablemente
End Sub
Al principio no había hecho 3 userforms diferentes, pero escribía directamente en mis listbox, pero al final me dijo procedimiento demasiado largo, por eso llegué a 3 userforms diferentes.
y en realidad quiero que los datos de mis 3 userforms estén en mis 3 listbox del userform de inicio y me gustaría que estos 3 userforms no aparecieran.
Espero haber sido claro ...
Gracias por tu comprensión.