No me funciona este código me carga los txtbox hasta un cierto rango

hola muy buenas otra vez, este código no me carga en los txtbox los datos correspondientes de la hoja crear pedidos a partir de la fila 2 es como si no los actualizase el combobox1 y me muestra por muchos datos que haya intruducidos en la hoja crear pedidos solo las 2 primeras filas, dejo el código por si hago algo mal:

Private Sub ComboBox1_Click()
If ind = 1 Then
ind = 0
Exit Sub
End If
dato = ComboBox1.Value
rango = "A2:W65500"
Set midato = Sheets("Crear Pedidos").Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
TextBox1.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 12).Value
TextBox2.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 13).Value
TextBox3.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 14).Value
TextBox4.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 15).Value
TextBox5.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 16).Value
TextBox10.Value = Sheets("Crear Pedidos").Range(ubica).Offset(0, 11).Value

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

de aquí para abajo esta todo "OK" el problema esta en el código de arriba solo me muestra o me actualiza hasta la fila 2 lo que haya de la fila 3 en adelante no lo muestra o no lo actualiza........................

If ind = 1 Then
ind = 0
Exit Sub
End If
dato = TextBox1.Value
rango = "A3:L65500"
Set midato = Sheets("Exsistencias").Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
TextBox6.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 7).Value
TextBox8.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 5).Value
TextBox9.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 7).Value
control = 1
Else
MsgBox "No se encuentra los datos del Proveedor"
End If
Set midato = Nothing
End If
End Sub

gracias.....

1 Respuesta

Respuesta
1

Ya probé tu macro y si me funciona para cualquier fila.

¿El dato que estás buscando debe ser exactamente igual al contenido de la celda?

Envíame tu archivo, dime cómo se llama el formulario y qué dato del combo debo seleccionar para encontrar el problema.

Mi correo [email protected]
En el asunto del correo escribe tu nombre de
usuario y el título de esta pregunta.
Avísame en esta pregunta cuando me lo hayas
enviado.
Saludos. Dante Amor

Dam cometí 2 errores al enviarte el archivo por email aquí me dices bien claro que te envíe el nombre de usuario y en el asunto del email el titulo de esta pregunta....no hice nada de eso.....no me di cuenta y ya lo envíe, lo siento....mi archivo es el que pone Ventas Final..Gracias

El problema que tienes un find y con esa instrucción encuentra el primer valor que aparece en la hoja "Crear pedidos". Pero tienes 3 ó más proveedores. Entonces según como cargaste el combobox1 es la forma en que vamos a obtener la fila en que se encuentra el proveedor. Así quedaría tu código:

Private Sub ComboBox1_Click()
    If ind = 1 Then
        ind = 0
        Exit Sub
    End If
    f = ComboBox1.ListIndex + 2
    'rango = "A2:W65500"
    'Set midato = Sheets("crear pedidos").Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
    '    If Not (midato) Is Nothing Then
    '    ubica = midato.Address(False, False)
    TextBox1.Value = Sheets("crear pedidos").Cells(f, 14)
    TextBox2.Value = Sheets("crear pedidos").Cells(f, 15)
    TextBox3.Value = Sheets("crear pedidos").Cells(f, 16)
    TextBox4.Value = Sheets("crear pedidos").Cells(f, 17)
    TextBox5.Value = Sheets("crear pedidos").Cells(f, 18)
    TextBox10.Value = Sheets("crear pedidos").Cells(f, 13)
    If ind = 1 Then
        ind = 0
        Exit Sub
    End If
    dato = TextBox1.Value
    rango = "A3:L65500"
    Set midato = Sheets("Exsistencias").Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
    If Not (midato) Is Nothing Then
        ubica = midato.Address(False, False)
        TextBox6.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 7).Value  'unidades pedidas -1, 6
        TextBox8.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 5).Value  'stock actual -1, 4
        TextBox9.Value = Sheets("Exsistencias").Range(ubica).Offset(0, 7).Value
        control = 1
    Else
        MsgBox "No se encuentra los datos del Proveedor"
    End If
    Set midato = Nothing
'End If
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas