Ga naar inhoud

VOORRAAD WORD NEGATIEF, IS HIER EEN OPLOSSING VOOR?


JOEYVLD

Aanbevolen berichten

HALLO EXCEL EXPERTS. ENIGE TIJD GELEDEN BEN IK VOOR MIJN WERKGEVER MET EEN EXCELL BESTAND VOORRAADBEHEER MET AFBOEKEN BEGONNEN EN AANGEPAST NAAR MIJN WENSEN. ECHTER KRIJG IK ER EEN FOUTJE NIET UIT. HET BETREFT DE VOORRAAD DIE NA AFBOEKEN IN DE MIN KAN GAAN. DE BETREFFENDE CELLEN BEVATTEN ZELF GEEN BEREKENING MAAR ER WORD VIA EEN ANDERE SHEET AFGEBOEKT. IS HET MOGELIJK ERVOOR TE ZORGEN DAT DE VOORRAAD NIET MEER IN DE MIN KAN GAAN. IK ZOU HET ZEER WAARDEREN ALS U MET UW EXPERTISE HIER NAAR ZOU WILLEN KIJKEN. HEEL ERG BEDANKT ALVAST EN MET VRIENDELIJKE GROET.

CSI Voorraadbeheer PCB + COMPONENTEN.xlsm

Link naar reactie
Delen op andere sites

  • Reacties 22
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Populaire dagen

Beste reacties in dit topic

test deze eens

Sub Afboeken()
With Sheets("voorraad").Columns(1)
Stock = .Find([B8], , xlValues, xlWhole).Offset(, 3)
If [C8] > Stock Then MsgBox "Afboeken kan maar max " & Stock & " aantallen": Exit Sub
        .Find([B8], , xlValues, xlWhole).Offset(, 3) = .Find([B8], , xlValues, xlWhole).Offset(, 3) - [C8]
    End With
    Dim data(1 To 5)
    data(1) = Now                                            'tijdstip boeking
    data(2) = [B8].Value                                 'artikelnr
    data(3) = [D3].Value
    data(4) = CDbl([C8].Value) * -1
    Sheets("Mutaties").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, UBound(data)).Value = data
End Sub

 

Link naar reactie
Delen op andere sites

Het betreft deze macro:

 

Sub Afboeken()

For Each cl In [C9:C999]
If cl <> "" Then
sq2 = cl.Offset(, -1).Value
With Sheets("Voorraad")
Set FoundCell = .Range("A:A").Find(cl)
sq1 = .Range(FoundCell.Address).Offset(, 3).Value
.Range(FoundCell.Address).Offset(, 3).Value = sq1 - sq2

End With
End If
Next

End Sub

 

Iemand suggesties? Alvast bedankt!

Link naar reactie
Delen op andere sites

Kijk eens of deze macro de job doet

Sub Afboeken()

For Each Cl In [C9:C999]
If Cl <> "" Then
sq2 = Cl.Offset(, -1).Value
With Sheets("Voorraad")
Set FoundCell = .Range("A:A").Find(Cl)
sq1 = .Range(FoundCell.Address).Offset(, 3).Value
If sq1 > sq2 Then
MsgBox "Af te boeken aantal is groter dan de stock " & Cl & " deze word op nul gezet"

End If
.Range(FoundCell.Address).Offset(, 3).Value = Application.WorksheetFunction.Max(0, sq1 - sq2)

End With
End If
Next

End Sub

 

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.