Mantener un valor en un textbox

Dante

Te hago la siguiente consulta: Al activar una dato en un ComboBox que, luego de aplicar Enter, provoca la ocurrencia de otros en varios TextBoxs, al modificar uno de ellos se pierde el dato de otro.

Te envío en forma privada el código para que puedas darme tu opinión

1 Respuesta

Respuesta
1

H o l a:

Te anexo el código, hay que cambiar la variable de la abreviatura del vendedor:

abreviaturaVend = b.Offset(0, 4)

Y con esa variable se realiza la búsqueda.

Private Sub OBRA_AfterUpdate() ' con el primer enter se completa comercial y abrev
    'si se ejecuta al abrir el UF no carga el resto   HOJA ACTIVA = HBCA
    Dim fila1 As Integer
    Dim datoO, buscoO, datoV, buscoV, datoT
    'completo el combo de los vendedores y datos fijos de raz.social
    datoO = Obra.Value
    Set h1 = Sheets("OBRAS-EMPRESAS")
    Set r = h1.Range("A2:A" & h1.Range("A65536").End(xlUp).Row)
    Set b = r.Find(datoO, LookIn:=xlValues, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox5 = b.Offset(0, 1)
        nomcorto = b.Offset(0, 2)
        abreviaturaVend = b.Offset(0, 4)
        '
        'Buscar nombre corto
        Set h2 = Sheets("Historico")
        Set r = h2.Columns("C")
        Set b = r.Find(nomcorto, lookat:=xlPart)
        If Not b Is Nothing Then
            ncell = b.Address
            n = 0
            Do
                nums = Split(b.Value, "/")
                If UBound(nums) = 0 Then
                    n = 1
                Else
                    n = Val(nums(1)) + 1
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
            TextBox3 = nomcorto & "/" & n
        Else
            TextBox3 = nomcorto
        End If
        '
        Set buscoV = Sheets("VENDEDORES").Range("D2:D" & Sheets("VENDEDORES").Range("D65536").End(xlUp).Row).Find(abreviaturaVend, LookIn:=xlValues, lookat:=xlWhole)
        If Not buscoV Is Nothing Then
            Vendedor.Value = buscoV.Offset(0, -3)
        Else
            Vendedor.ListIndex = -1
        End If
    Else
        TextBox3 = ""
        TextBox5 = ""
        AbrevVend = ""
        Vendedor.ListIndex = -1
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas