30. marts 2004 - 12:21Der er
7 kommentarer og 1 løsning
Lagerstyring med tilgang og opdatering af felterne
Hej folkens
Jeg skal have lavet et regneark i Excel, hvor jeg kan holde styr på ca. 50 varer.
Jeg har et
"Standardlager" (der fortæller hvor meget vi typisk ønsker at have på lager)
"Faktisk lager" (det som jeg kan gå ind og tælle op)
"I ordre" (hvor meget jeg har bestilt, men som ikke er kommet på lager endnu)
Herudfra skulle jeg så kunne beregne hvad jeg skulle bestille ("Standardlager" - "Faktisk lager" - "I ordre") Dette "Bestil" tal skal så opdateres i "I ordre" således at det er opdateret med den nye bestilling.
Desuden skal jeg også kunne indtaste når jeg får leveringer således at "Faktisk lager" så stiger og "I ordre" falder med det jeg indtaster som "Leveret
Jeg håber på noget hurtigt hjælp, da jeg hele tiden løber ind i nogen cirkulære referencer som jeg ikke helt kan styre.
Lagerstyring lyder umiddelbart mere som en Access opgave end som en Excel opgave.
Dine cirkulære refrencer kan du håndtere ved at gå i Funktioner - Indstillinger. Fanebladet Beregning. Sæt flueben i Gentagelser og sæt Maks. antal til 1. Det er muligt at du også bliver nødt til at sætte beregning til Manuel.
Ok... Jeg vil nok helst løse det i Excel, men er også åben overfor et forslag tila t gøre det i access, men har bare ikke ret meget erfaring med dette.
50 varer lyder som en overkommelig opgave i Excel.
Hvis du sender dit ark, som det ser ud nu, skal jeg nok lave det færdigt. Det vil være fint, hvis arket også indeholder en lidt mere præcis beskrivelse af det du ønsker.
Hvis du har varen i kolonne A, standardlager i B, faktisk lager i C, ordrer i D, bestillingsforslag (=B-C-D) i E, ny bestilling i F og leveret/modtaget i G, kan du bruge disse to makroer (de forudsætter at du ikke har blanke felter i kolonne A før sidste vare, ellers kræver det lige en justering):
Sub Opdatér_ordrer() ' Dim cll As Range Dim nxtcll As Range Dim ordre As Integer Dim bestil As Integer ' Set cll = Range("A2") Do Until cll = "" ordre = cll.Offset(0, 3) bestil = cll.Offset(0, 5) cll.Offset(0, 3) = ordre + bestil cll.Offset(0, 5).ClearContents Set nxtcll = cll.Offset(1, 0) Set cll = nxtcll Loop End Sub
Sub Opdatér_lager() ' Dim cll As Range Dim nxtcll As Range Dim ordre As Integer Dim leveret As Integer Dim lager As Integer ' Set cll = Range("A2") Do Until cll = "" lager = cll.Offset(0, 2) ordre = cll.Offset(0, 3) leveret = cll.Offset(0, 6) cll.Offset(0, 2) = lager + leveret cll.Offset(0, 3) = ordre - leveret cll.Offset(0, 6).ClearContents Set nxtcll = cll.Offset(1, 0) Set cll = nxtcll Loop End Sub
men vil det ikke være mere logisk hvis opdater lager makroen og smider de positive tal over i søjle F (ny bestilling) så man ikke selv skal taste dem, men kan bruge de positive tal hvis man ønsker og redigere dem man ikke er enige i det?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.