Just nu i M3-nätverket
Gå till innehåll

Lagerinventering med hjälp av excel


Wakeguy

Rekommendera Poster

Hej!

 

Jag är en nybörjare på excel och undrar om följande är genomförbart på ett rel. smidigt sätt om det går över huvud taget.

 

Jag hade tänkt mig ett excel blad med en inmatningsruta(cell) för ett produktnummer. (Skall matas in med hjälp av en streckkodsläsare)

 

produktnummret skall läggas till in en lista i samma blad där det även skall finnas en kolumn för antal. om samma produktnummer skannas flera gånger är det endast antalet som skall ändras för det produktnummret, ej läggas till flera rader med samma produktnummer. om produktnummret ej finns i listan skall det läggas till samt att kolumnen antal skall sättas till 1.

 

Förstår ni vad jag är ute efter??

 

 

tack på förhand....

 

 

[inlägget ändrat 2006-06-29 23:29:06 av Wakeguy]

Länk till kommentar
Dela på andra webbplatser

Allt går - bara man har tiden och kunnandet.

 

En lösning på steget streckkodsläsare till Excel kan jag inte bidra med men det övriga ser jag inga problem med att genomföra.

 

produktnummret skall läggas till in en lista i samma blad där det även skall finnas en kolumn för antal. om samma produktnummer skannas flera gånger är det endast antalet som skall ändras för det produktnummret, ej läggas till flera rader med samma produktnummer. om produktnummret ej finns i listan skall det läggas till samt att kolumnen antal skall sättas till 1.

Två alternativ:

1: Varje läsning med streckkodsläsaren skrivs in som en post i en lista med datum och inläst värde (och vem som läste in det?). Formler, kanske Pivot-tabell, summerar värdena i listan.

 

2: En lista byggs på med inlästa värden. För varje framtida inläsning ökas en räknare med ett.

 

I vilket fall som helst krävs det lite VBA kod. I fall 1 för att skriva in inläsningen sist i listan (samt ev. uppdatera Pivottabellen).

 

I fall 2 en rutin för att hitta och uppdatera ett värde eller skriva in ett nytt i listan.

 

Sedan behövs givetvis en rutin för att upptäcka/ta hand om inläsningen. Men bara du kan få in värdet från läsaren i Excel så löser vi det.

 

Hur mycket av detta tror du att du kan själv? Hur mycket hjälp behöver du?

 

Besök även XLDennis för inspiration och hjälp:

http://www.xldennis.se

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Jag har löst problemet med att få in värdena från streckkodsläsaren till excel.

 

Säg att jag har följande info i excel.

 

Art.nr

1234

1234

4568

4568

9754

1234

5555

 

Hur gör jag om ovanstående till det som syns nedan?

 

Art.nr Antal

1234 3

4568 2

5555 1

9754 1

 

 

Länk till kommentar
Dela på andra webbplatser

Tja enligt alternativ 1 ovan:

Kanske enklast med en Pivottabell. Formler går säkert även de men med en Pivot slipper du ta hänsyn till när listan utökas med nya artikelnummer.

 

Markera området med din lista (gärna hela kolumnen men då blir filen lite större när den sparas...). Öppna menyn Data - Rapport för Piv...

Klicka nästa, godkänn/verifiera området, klicka nästa, välj plats och klicka Layout.

Sätt där dina artikelnummer dels som rad och dels som data, dubbelklicka på data-fältet och välj antal.

 

Ok, klart. Pivottabellen behöver sedan uppdateras efter varje ny inmatning, den känner ej av förändringar inom dataområdet. Experimentera lite.

 

OM alla artikelnummer är kända kan man kanske med fördel bygga upp en lista med formler av typ ANTAL.OM()

 

Alternativ 2 enligt ovan innebär att:

Med VBA köra en Find() på tabellområdet vid en inmatning, om träff öka på värdet i kolumnen bredvid med ett, om ingen träff klistra in värdet sist i tabellen (och sortera tabellen)

 

dvs om dina data finns i kolumn A:

Sub doFindAdd()
   Dim lnValue As Long
   Dim c As Range
   lnValue = Cells(2, 1) + 1
   With Range("a:a")
       Set c = .Find(what:=lnValue, lookat:=xlWhole, LookIn:=xlValues)
       If Not c Is Nothing Then
              c.Offset(0, 1) = c.Offset(0, 1) + 1

       Else
           Cells(.Count, 1).End(xlUp).Offset(1, 0).Value = lnValue
       End If
   End With
End Sub

där lnValue är värdet som söks (hämtas från cell i exemplet). Förslagsvis tas cellreferensen bort och värdet skickas till funktionen när den ska köras:

Sub doFindAdd(lnValue as Long)

 

Ja, sedan ville du kanske sortera också... men det får du fundera ut själv hur man gör :)

 

(tips - spela in ett makro)

 

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...