Cómo reemplazar el valor de un textbox en una celda ?

Tengo una duda sobre un código, lo que quiero es que el resultado de una operación que lo tengo en un textbox reemplaze al de la celda donde está el dato con el que uso para la operación.

P. Ej. Tengo la cantidad existente en una columna en excel y ya que selecciono con el formulario el producto me aparece la cantidad, en otro textbox tengo el valor que quiero restar de esa cantidad existente y en otro textbox tengo el reusltado de la resta que es mi cantidad final. Quiero que el resultado de la cantidad final sustituya al de la cantidad existente.

Gracias! Les dejo el código que tengo

Private Sub CommandButton1_Click()
If CbDNA.Text = "" Then
MsgBox ("No se han registrado datos")
ListaBox1 = Clear
Txtcantidad.Text = ""
Txtfinal.Text = ""
CbDNA.SetFocus
Else
a = ListaBox1.ListIndex
With Sheets("Salida (almacén)")
.Rows("8:8").Insert Shift:=xlUp
.Rows("8:8").Interior.Pattern = xINone
.Range("B8").Value = Txtcantidad.Text
.Range("D8").Value = ListaBox1.List(a, 0)
.Range("C8").Value = ListaBox1.List(a, 2)
.Range("E8").Value = ListaBox1.List(a, 3)
.Range("F8").Value = CbDNA.Text
Dim Fila As Integer
Dim uf As String
Dim d1, d2 As String
Sheets("Inventario (almacén)").Select
If Txtfinal.Value <= 0 Then
MsgBox "Material insuficiente"
Else
With Sheets("Inventario (almacén)").Cells(Fila, 12)
d1 = ListaBox1.List(a, 5)
d2 = Sheets("Inventario (almacén)").Cells(Fila, 12)
If d1 = d2 Then
' Txtfinal.Text = Sheets("Inventario (almacén)").Cells(Fila, 11)
' .Range(Fila, 11).Value = Txtfinal.Text
'Fila = Fila + 1
ActiveCell.Offset(0, -1).Select
ActiveCell = Txtfinal.Text
Else
End If
End With
End If
ActiveWorkbook.Save
Sheets("Inventario (almacén)").Select
End With
ListaBox1.Clear
CbDNA.Text = ""
Txtcantidad.Text = ""
Txtfinal.Text = ""
CbDNA.SetFocus
End If
End Sub

1 respuesta

Respuesta
1

La instrucción ActiveCell = Txtfinal.Text te lo está devolviendo como texto.

Convertilo de este modo:

ActiveCell = Cdbl(Txtfinal.Text)

Luego la celda ya tendrá su formato de número según tu necesidad.

Gracias Elsa, pero me sigue apareciendo un error en el renglón:

With Sheets("Inventario (almacén)").Cells(Fila, 12)

Por lo que veo aquí no le estás pasando ningún valor a Fila... revisa ese código.

Cómo sugerencia: declara las variables al inicio de cada Prívate Subir así no se te pierden de vista.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas