Propiedad del Listbox en Excel

Quisiera hacerte una consulta sobre una código que tengo y que no funciona bien.

Se trata de un código que en algún momento me remite a Userform

La secuencia es:

Estoy en un Userform1 y deseo buscar un dato especifico para completar un TextBox7.

Para ello debo aplicar allí un botón que me lleva a otro Userform2 donde dentro hay un ListBox1 que muestra una grilla de datos de 140 filas por 10 Columnas y cuyo código es el siguiente:

------------------------------------------------------------------------------------------------------------------------------------------------------------------

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'si la lista no esta vacia o hay mas de un dato
If ListBox1.ListCount <> -1 Then
   nroRecla = ListBox1.Value (aquí salta el error!!!!!!!!!!!!!!!!!!!!!!!!)
   busco = Val(ListBox1.List(ListBox1.ListIndex, 9))
End If
Unload Me
End Sub

---------------------------------------------------------------------------------------------------------------------------------------------------------------

Private Sub UserForm_Initialize()
'llenar el listbox
    Dim TopOffset As Integer
    Dim LeftOffset As Integer
    TopOffset = (Application.UsableHeight / 2) - (Me.Height / 2)
    LeftOffset = (Application.UsableWidth / 2) - (Me.Width / 2)
    Me.Top = Application.Top + TopOffset
    Me.Left = Application.Left + LeftOffset
Dim i As Long
For i = 2 To Sheets(nbreho).Range("A65536").End(xlUp).Row

ListBox1. AddItem Sheets(nbreho).Cells(i, 1)
ListBox1.List(i - 2, 1) = Sheets(nbreho).Cells(i, 2)
ListBox1.List(i - 2, 2) = Sheets(nbreho).Cells(i, 4)
ListBox1.List(i - 2, 3) = Sheets(nbreho). Cells(i, 14)
ListBox1.List(i - 2, 4) = Sheets(nbreho).Cells(i, 5)
ListBox1.List(i - 2, 5) = Sheets(nbreho).Cells(i, 6)
ListBox1.List(i - 2, 6) = Sheets(nbreho).Cells(i, 7)
ListBox1.List(i - 2, 7) = Sheets(nbreho).Cells(i, 8)
ListBox1.List(i - 2, 8) = Sheets(nbreho).Cells(i, 9)
ListBox1.List(i - 2, 9) = Sheets(nbreho). Cells(i, 27)

Next i

'nroRecla = ""
'busco = 0

End Sub

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Elijo de la lista el dato que necesito con doble click y me lleva nuevamente al Userform1 completando allí el TextBox7 con el valor de la posición de éste en el ListBox1

Parece sencillo pero el error que salta siempre en la línea en negrita es: _"no coinciden los tipos" y hay algo mal definido.

¿Podrás darme una mano?

1 Respuesta

Respuesta
2

Para probarlo tendría que hacerlo con tu archivo, de entrada realiza este cambio

Cambia esta línea

 nroRecla = ListBox1.Value (aquí salta el error!!!!!!!!!!!!!!!!!!!!!!!!)

por esta:

 nroRecla = ListBox1. List(listbox1. Listindex, 0)

puse un 0 porque quiero, del registro seleccionado (listindex), la columna 0; pero si quieres otra columna, cambia el 0 por el número de columna.

Si no resuelve el problema, envíame tu archivo y me explicas la secuencia de pasos que debo realizar para llegar al problema.

Sal u dos

La pregunta no admite más respuestas

Más respuestas relacionadas