Primero debes entrar al editor de vba de excel e insertar un nuevo modulo, allí pegas el siguiente código:
Sub OrdenAlmacen(CodigoaBuscar As Long, ArtVendidos As Long)
Dim BuscarCelda As Range
Application.ScreenUpdating = False
Hoja1.Activate
Set BuscarCelda = Range("A1","A" & Range("A1" ).End(xlDown).Row).Find(What:=CodigoaBuscar, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
If BuscarCelda Is Nothing Then
MsgBox ("Articulo no encontrado en el almacen")
Else
BuscarCelda.Offset(0, 2).Value = BuscarCelda.Offset(0, 2).Value - ArtVendidos
End If
Application.ScreenUpdating = True
End Sub
Luego en el código de la HOJA2 deberías llamar a la función con este código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
OrdenAlmacen Target.Offset(0, -2).Value, Target.Value
End If
Yo hago el proceso al modificar la celda de cantidad de la hoja de ventas, eso lo tendrías q modificar a tu gusto, ten en cuenta q si por ejemplo te equivocas al hacer una venta y pones mal la cantidad de artículos y luego lo rectificas habrás restado los artículos dos veces.
Saludos
Pd. Si quieres un programa mas completo, con facturas u otras opciones te ofrezco mis servicios como programador a un precio muy asequible.