• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

waarde wegschrijven volle pallets en rest dozen

  • Onderwerp starter Onderwerp starter HWV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Bekijk bijlage Helpmij.xlsm :thumb:

Beste,

Ik werk met een database waar ik mijn voorraad in bijhoud.
Opboeken en afboeken heb ik eringebouwd tevens als iets in bestelling staat dat we deze binnen kunnen boeken en dat hij dan de voorraad wegschrijft.

Wat ik nu wil en niet voorelkaar krijg is dat als ik een aantal binnen krijg dat hij deze waarde spilts op volle pallets en op aantal losse dozen.

Bv. (geel gemarkeerd in mijn bestand)
Kolom U = Aantal dozen op een pallet
Kolom AG = Aantal losse dozen
Kolom AH = Aantal pallets

Via de userform wil ik een waarde invullen bv 500
Dat hij kijkt of kolom U gevuld is zoja dat hij dan de waarde 500 deelt door het aantal op een pallet en deze aantal pallets wegschrijft in kolom AH + de waarde die al staat in de cel
Het getal wat overblijf, dus geen volle pallet moet weggeschreven worden in kolom AG + de waarde die al staat in de cel.

In de bijlage een kopie van mijn orginele bestand, zonder gevoelige informatie

Alvast erg bedankt voor de input.

HWV

ps.
ik weet de code achter het formulier kan honderd keer beter, maar voor mij werkt het en mijn kennis gaat niet verder,
 
HWV,

ik kan je uitleg niet helemaal volgen
Dat hij kijkt of kolom U gevuld is zoja dat hij dan de waarde 500 deelt door het aantal op een pallet en deze aantal pallets wegschrijft in kolom AH + de waarde die al staat in de cel
Het getal wat overblijf, dus geen volle pallet moet weggeschreven worden in kolom AG + de waarde die al staat in de cel.

maar ik denk dat je hiermee geholpen zou kunnen zijn
 

Bijlagen

Bekijk bijlage Helpmij.xlsm

Beste,

Met deze bijdrage heb ik hulpkolommen kunnen aanmaken en zo werkt het idd.
Ook zo gemakt als er geen palletaantal bekend is dat hij dan de dozen opteld bij losse dozen
Zijn er mogelijkheden zonder hulp kolom dan sta ik daar graag voor open, maar voor nu werkt het :thumb:


Groet HWV
 
Henk,

mijn probleem is dat ik niet uit je vraag kan opmaken waar welke waarden moeten komen te staan.
Kun je nog een poging wagen om dat uit te leggen aan de hand van deze uitwerking:

in BA4 zet ik 500
in BC4 komt dan 2
in BD4 komt dan 20

in welke cellen zou je die waarden terug willen zien?
 
Met VBA

Beste,

BA4 zet ik 500
BC4 waarde optellen bij het aantal in kolom AH
BD4 waarde optellen bij het aantal in kolom AG

Maar dat kan niet met formule in de cel aangezien wij deze kolommen ook wel eens handmatig vullen.
Ik vul ze nu met de volgende code

Opboeken
Code:
            oRng.Offset(, 52).Value = VoorraadOpboeken
            oRng.Offset(, 33).Value = oRng.Offset(, 33).Value + oRng.Offset(, 54).Value
            oRng.Offset(, 32).Value = oRng.Offset(, 32).Value + oRng.Offset(, 55).Value

Afboeken
Code:
            oRng.Offset(, 52).Value = VoorraadAfboeken
            oRng.Offset(, 33).Value = oRng.Offset(, 33).Value - oRng.Offset(, 54).Value
            oRng.Offset(, 32).Value = oRng.Offset(, 32).Value - oRng.Offset(, 55).Value

Code:
Private Sub Button_Afboeken_Click()
On Error Resume Next

If VoorraadAfboeken.Value = "" Then
MsgBox ("Er moet eerst een aantal gevuld worden wat er afgeboekt moet worden")
Else

    Dim oRng As Range
    Set oRng = Sheets("Database").Columns(1).Find(What:=Cbo_AfleverAdres.Value, LookAt:=xlWhole)
        If oRng <> "" Then
            
            oRng.Offset(, 52).Value = VoorraadAfboeken
            oRng.Offset(, 33).Value = oRng.Offset(, 33).Value - oRng.Offset(, 54).Value
            oRng.Offset(, 32).Value = oRng.Offset(, 32).Value - oRng.Offset(, 55).Value
            
            VoorraadAfboeken.Value = ""
            Me.Notitie.Caption = "De voorraad is aangepast in de voorraaddatabase"
            Voorraad.Value = oRng.Offset(, 25).Value
            VoorraadInDS.Value = oRng.Offset(, 32).Value + oRng.Offset(, 33).Value * oRng.Offset(, 20).Value
            oRng.Offset(, 52).Value = ""
        End If
End If
End Sub

Private Sub Button_Opboeken_Click()

If VoorraadOpboeken.Value = "" Then
MsgBox ("Er moet eerst een aantal gevuld worden wat er opgeboekt moet worden")
Else
On Error Resume Next

    Dim oRng As Range
    Set oRng = Sheets("Database").Columns(1).Find(What:=Cbo_AfleverAdres.Value, LookAt:=xlWhole)
        If oRng <> "" Then
        
            oRng.Offset(, 52).Value = VoorraadOpboeken
            oRng.Offset(, 33).Value = oRng.Offset(, 33).Value + oRng.Offset(, 54).Value
            oRng.Offset(, 32).Value = oRng.Offset(, 32).Value + oRng.Offset(, 55).Value

            VoorraadOpboeken.Value = ""
            Me.Notitie.Caption = "De voorraad is aangepast in de voorraaddatabase"
            Voorraad.Value = oRng.Offset(, 25).Value
            VoorraadInDS.Value = oRng.Offset(, 32).Value
            VoorraadInDS.Value = oRng.Offset(, 32).Value + oRng.Offset(, 33).Value * oRng.Offset(, 20).Value
            oRng.Offset(, 52).Value = ""
                        
        End If
End If
End Sub


Private Sub Button_Overboeken_Click()
On Error Resume Next

    Dim oRng As Range
    Set oRng = Sheets("Database").Columns(1).Find(What:=Cbo_AfleverAdres.Value, LookAt:=xlWhole)
        If oRng <> "" Then
        
        oRng.Offset(, 52).Value = oRng.Offset(, 26).Value
        oRng.Offset(, 33).Value = oRng.Offset(, 33).Value + oRng.Offset(, 54).Value
        oRng.Offset(, 32).Value = oRng.Offset(, 32).Value + oRng.Offset(, 55).Value
     
            InBestelling = ""
            DatumVerwacht = ""
            Me.Notitie.Caption = "De voorraad is aangepast in de voorraaddatabase"
            Voorraad.Value = oRng.Offset(, 25).Value
            VoorraadInDS.Value = oRng.Offset(, 32).Value
            VoorraadInDS.Value = oRng.Offset(, 32).Value + oRng.Offset(, 33).Value * oRng.Offset(, 20).Value
            oRng.Offset(, 52).Value = ""
            oRng.Offset(, 26).Value = ""
            oRng.Offset(, 27).Value = ""
        End If
End Sub

Groet HWV
 
Henk,

oké, ik zie zo 123 geen manier om dat zonder de hulpkolommen op te lossen. Je zou die hulpkolommen natuurlijk kunnen verbergen....
 
Erg bedankt weer voor je inzet Haije

Groet Henk
 
Graag gedaan Henk!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan