Ayuda con textbox

Hola nuevamente y perdón pero me gustan tus respuestas y no es solamente alago jajajaj es la verdad.
Bueno pues, mire yo utilizo
Private Sub TextBox1_change()
ActiveSheet.Unprotect ""
On Error Resume Next
Cells.Find(What:=TextBox1.Value, after:=ActiveCell, LookIn:=xlFormulas, lookat _
        :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox4 = ActiveCell
End Sub
para encontrar datos como puede ver me funciona pero yo quiero saber si hay alguna manera que el textbox 4 al darle doble click lle pueda cambiar el valor y se guarde en la misma celda o sea se modifique? O hay alguna manera que al sumarle otro valor me lo modifique en la misma celda? Yo utiziba
Private Sub TextBox5_Change()
ActiveCell.FormulaR1C1 = TextBox5
TextBox6 = Val(TextBox5) + Val(TextBox4)
End Sub
Pero me pone de cabeza esa parte porque ya no me hace la búsqueda, ya no me da datos y ya no puedo sumarle nada al producto que quiero.
Ojala y pueda ayudarme nuevamente muchas gracias.

1 respuesta

Respuesta
1
Primero te voy a ajustar la rutina para el textbox1. Como el evento Change se ejecuta con cada 'cambio' si ingresás un texto de 5 dígitos se ejecutará 5 veces... vamos a cambiar entonces el evento
Public filax As Integer    'voy a necesitar el nro de la fila del dato encontrado
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ActiveSheet.Unprotect ""
On Error Resume Next
Cells.Find(What:=TextBox1.Value, after:=ActiveCell, LookIn:=xlFormulas, lookat _
        :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
filax = ActiveCell.Row
TextBox2 = ActiveCell.offset(0,1)
TextBox3 = ActiveCell.Offset(0, 2)
TextBox4 = ActiveCell.Offset(0,3)
End Sub
(*) Buscá ejemplos que utilizan SET busco = ... es más precisa la búsqueda si sabés de antemano en qué rango se puede encontrar el dato de TextBox1
Ahora para guardar solo 1 textbox, podés utilizar esto:
Private Sub TextBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'guardamos el contenido en la fila encontrada. Sabemos que se ubica en la col 4 (D)
Cells(filax, 4) = TextBox4
End Sub
Aunque lo recomendable es que tengas un botón de ACEPTAR. Que una vez que completes todos los campos haga el control necesario (que no queden vacíos, que sea un dato válido, etc) y luego guarde todo junto.
Sdos
Elsa
http://aplicaexcel.galeon.manuales.htm/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas