miércoles, 18 de febrero de 2015

VBA: Trasladar datos de inventario....

En varias ocasiones me han solicitado 'ayuda' para resolver un mismo problema; lo que me hace pensar este ejercicio corresponde a algún Curso de Excel o formación...???.
El ejercicio consiste en trasladar los datos completados, de un inventario, al item correspondiente.
Veamos la pregunta planteada por el último de los usuarios:
...como puedo poner un botón en Excel para que al presionarlo, las ENTRADAS Y/O SALIDAS se pongan automáticamente en las coordenadas correspondientes...


El modelo de datos es el siguiente:

VBA: Trasladar datos de inventario....


El objetivo es, entonces, que el usuario en la celda A2 introduzca el ID del item a completar, para luego rellenar (según corresponda) el dato de Entrada o Salida en las celdas D2, E2, para a continuación trasladar el dato al inventario de la parte inferior, a su fila correspondiente.

Insertamos el siguiente procedimiento 'InsertaInfo', al que luego asignaremos al botón 'Agregar dato':

Sub InsertaInfo()
'Buscamos la fila que corresponde al item seleccionado en A2
With Range("A5:A19")
    Set c = .Find(Range("A2").Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            fila = c.Row    'fila buscada
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

'trasladamos los datos de Entradas/Salidas - celdas D2:E2
'acumulando el dato al ya existente!!
Cells(fila, "D").Value = Cells(fila, "D").Value + Cells(2, "D").Value
Cells(fila, "E").Value = Cells(fila, "E").Value + Cells(2, "E").Value

End Sub



El resto lo hace las sencillas fórmulas/funciones del modelo:

VBA: Trasladar datos de inventario....

No hay comentarios:

Publicar un comentario en la entrada