Funcion Match no funciona

Tengo este codigo, pero cuando lo corro me sale un arror que no se obtener la propiedad match.

Sheets("INVENTARIO").Select

TALLAINV = Application.WorksheetFunction.Match(REGISTRO.TextBox3.Value, TALLA, 0)

MODELOINV = Application.WorksheetFunction.Match(REGISTRO.ComboBox2.Value, MODELOINV, 0)
Cells(MODELOINV, TALLAINV).Select

ActiveCell.Offset(0, 0) = (ActiveCell.Offset(0, 0).Value - REGISTRO.TextBox2)

Tengo una tabla donde la fila superior es TALLA, y la primera columna es MODELOINV, tengo un userform que le pregunta al usuario que modelo quiere, de que talla y cuantas cantidades, lo que quiero es que una vez que el usuario haya elegido moelo y cantidad, excel busque en el inventario el modelo y la talla, se pare en esa celda y tome la cantidad que aparece ahi y le reste la que el usuario coloco.

No se si me explique bien.

1 respuesta

Respuesta
2

Prueba con el método .Find :

Private Sub CommandButton1_Click()
  Dim sh As Worksheet, nTalla As Long, nModelo As Long, f As Range, nInven As Variant
  Set sh = Sheets("INVENTARIO")
'VALIDACIONES
  If TextBox2.Value = "" Then
    MsgBox "Captura la Cantidad"
    TextBox2.SetFocus
    Exit Sub
  End If
  If TextBox3.Value = "" Then
    MsgBox "Captura la talla"
    TextBox3.SetFocus
    Exit Sub
  End If
  If ComboBox2.Value = "" Or ComboBox2.ListIndex = -1 Then
    MsgBox "Captura la talla"
    ComboBox2.SetFocus
    Exit Sub
  End If
  '
'BUSCAR
  Set f = sh.Range("TALLA").Find(TextBox3, , xlValues, xlWhole)
  If Not f Is Nothing Then
    nTalla = f.Column
  Else
    MsgBox "La talla no existe"
    Exit Sub
  End If
  '
  Set f = sh.Range("MODELOINV").Find(ComboBox2, , xlValues, xlWhole)
  If Not f Is Nothing Then
    nModelo = f.Row
  Else
    MsgBox "La talla no existe"
    Exit Sub
  End If
  '
'REALIZAR LA RESTA
  nInven = sh.Cells(nModelo, nTalla)
  If nInven < Val(TextBox2.Value) Then
    MsgBox "No se puede realizar la operación" & vbCr & _
           "El inventario : " & nInven & " es menor a : " & TextBox2.Value
    Exit Sub
  Else
    sh.Cells(nModelo, nTalla) = sh.Cells(nModelo, nTalla) - Val(TextBox2.Value)
    MsgBox "Operación realizada. Inventario actual : " & sh.Cells(nModelo, nTalla)
  End If
End Sub

¡Gracias!  Mil gracias, funciona perfecto. 

Me alegra saber que funcionó par ti. G r a c i a s por comentar.

A ver si me pueden ayudar, necesito poner en negritas las palabras Ventas, Compras, Produccion, Almacen e Inst. de Envio. 

no me deja escribir el codigo  

"A ver si me pueden ayudar, necesito poner en negritas las palabras Ventas, Compras, Producción, Almacen e Inst. de Envío. "

Si es un nuevo requerimiento, te sugiero crear una nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas