Error en TextBox1 Enter Excel VBa...

Tengo un pequeño obstáculo en mi UserForm, ya que cuando doy clic en el TextBox1 me manda un error en Private Sub TextBox1_Enter() y For i = 1 To TextBox1. ListCount

Ajunto mi código con respecto a ese Campo:

Private Sub TextBox1_Enter()
Dim i As Integer
Dim j As Integer
Dim H As Integer
Dim final As Integer
Dim tareas As String
TextBox1.BackColor = &H80000005
For i = 1 To TextBox1.ListCount
    TextBox1.RemoveItem 0
Next i
For j = 2 To 1000
If Hoja2.Cells(j, 1) = "" Then
    final = j - 1
    Exit For
End If
Next
For H = 2 To final
    tareas = Hoja2.Cells(H, 1)
    TextBox1.AddItem (tareas)
Next
End Sub

2 respuestas

Respuesta
1

No sé bien qué es lo que quieres hacer, pero los TextBox nunca son listas, por tanto, la propiedad ListCount no se encuentra en los TextBox y eso es lo que te está causando el error.

Con toda probabilidad, el error que tienes es que has creado un Cuadro de Texto (TextBox), cuando lo que querías crear era un Cuadro de Lista (ListBox)... Este objeto SI tiene la propiedad ListCount.

-Suerte y no olvides valorar mi respuesta.

Respuesta
1

Los "TextBox"no tienen propiedad "ListCount" ¿o tu "ListBox" se llama "TextBox1"?

Comentas

Abraham Valencia

Cierto, olvidaba ese detalle

¿si quiero buscar en todas las filas de mi hoja un dato por medio de un lector de codigo de barras?

Lo que pasa es que me busca un dato solamente, pero si doy clic me aparecen todos los datos registrados obviamente.

Lamentablemente, si uso afterupdate no me envía el mensaje para guardar los datos  :(

Private Sub ComboBox1_Click()
Dim i As Integer
Dim j As Integer
Dim final As Integer
Dim FINAL2 As Integer
For i = 2 To 1000
    If Hoja2.Cells(i, 1) = "" Then
        final = i - 1
        Exit For
    End If
Next
For i = 2 To 1000
    If Hoja5.Cells(i, 1) = "" Then
        FINAL2 = i - 1
        Exit For
    End If
Next
For i = 2 To final
If ComboBox1 = Hoja2.Cells(i, 1) Then
marca = Hoja2.Cells(i, 2)
Exit For
End If
Next
For i = 2 To final
If ComboBox1 = Hoja2.Cells(i, 1) Then
dispositivo = Hoja2.Cells(i, 3)
Exit For
End If
Next
For i = 2 To final
If ComboBox1 = Hoja2.Cells(i, 1) Then
modelo = Hoja2.Cells(i, 4)
Exit For
End If
Next
For i = 2 To final
If ComboBox1 = Hoja2.Cells(i, 1) Then
activofijo = Hoja2.Cells(i, 5)
Exit For
End If
Next
For j = 1 To FINAL2
    If ComboBox1 = Hoja5.Cells(j, 1) Then
        cantdisp = Hoja5.Cells(j, 5)
        cantdisp.BackColor = &HC0FFC0
    Exit For
    End If
Next
End Sub

No me queda claro tu problema, para ser sincero, o sea ¿de dónde sale el dato que quieres buscar y en dónde lo buscas? ¿Qué quieres que suceda al hallarlo? etc.

Abraham Valencia

Te explico. Tengo una Macro que registra entradas y salidas, llevo un registro de todo lo que entra y sale en otras hojas.

Al momento de colocar el cursor en el ComboBox1 y hacer uso del escáner de código de barras debe mostrar 6 datos en sus respectivos campos.

Digamos que:

Código Marca Modelo
656187 Dell Inspiron
890567 Dell Latitude

La cuestión es que solamente encuentra la primera fila.

¿Cuál es la disposición de los datos? ¿Por qué tendría que "extraer" más fila? ¿Cuál es la relación de esas filas? ¿Cómo interviene el escaner? ¿De dónde busca/salen los datos? etc...

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas