Cómo reemplazar el valor de un textbox que es resultado de una operación en una celda de Excel
Tengo una duda sobre un código, lo que quiero es que el resultado de una operación que lo tengo en un textbox reemplace 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.
Me sale que tengo un erro9: subíndice fuera de intervalo en la fila
ActiveSheet = Sheets("Inventario(almacén)")
Lo que quiero es que al darle click en el botón me agregue en una pestaña unos datos y que en otra pestaña me reemplace una información, no se si sea el código correcto para hacer ediciones en dos diferentes pestañas.
Les dejo el código:
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
ActiveWorkbook.Save
Sheets("Inventario (almacén)").Select
End With
ListaBox1.Clear
CbDNA.Text = ""
Txtcantidad.Text = ""
CbDNA.SetFocus
End If
Dim celda As Range
Dim dato As Variant
Dim r As String
Dim uf As String
Dim d1, d2 As String
Application.ScreenUpdating = False
conta = 0
' On Error Resume Next
Set currcell = ActiveCell
ActiveSheet = Sheets("Inventario(almacén)")
ActiveCell = Range("L8").Select
uf = Range("L" & Rows.Count).End(x1Up).Row
r = "E8:E" & uf
currcell.Select
'For Each celda In Range(r)
currcell = celda
currcell.Offset(0, -1).Select
If Txtfinal.Value <= 0 Then
MsgBox "Material Insuficiente"
Else
With Sheets("Inventario(almacén)").celda
d1 = ListaBox1.List(a, 5)
d2 = Sheets("Inventario(almacén)").celda
If d1 = d2 Then
'currcell = celda
'currcell.Offset(0, -1).Select
Sheets("Inventario(almacén)").celda = CDbl(Txtfinal.Text)
Else
End If
End With
Txtfinal.Text = ""
End If
'End With
ActiveWorkbook.Save
Sheets("Inventario (almacén)").Select
End Sub
Graciaaaaaas!