Avatar billede groyk Novice
31. maj 2007 - 12:54 Der er 1 kommentar og
1 løsning

Beregne materiale forbrug via VBA i excel

Hej Eksperter

Nogen der har en ide til følgende.

Sidder med nogle styklister der kunne se ud som herunder.

Stk. - RåVarenr. - Længde - Råvarelængde
15      1        255      6000
25      1        1075    6000
5      1        2000    6000
7      2        755      3000
4      2        987      3000

Det jeg skal beregne med en makro er hvor mange længder råvarer jeg skal bestille af hver type.

Der skal naturlig være så lidt spild så mulig.

Havde forestillet mig noget med at beregne for den længste først og så gemme spildet i nogle felter. Når jeg så beregner den 2. længste varer så tjekke om nogle af resterne kan bruges. osv.

En der muligvis kunne komme med et oplæg?
Avatar billede koppelgaard Praktikant
03. juni 2007 - 11:36 #1
List alle vare op, emne for emne i sorteret faldende rækkefølge i liste 1 i kolonne A
2000
2000
.
.
2000
1075
1075
.
.
1075
987
.
.
.
osv

List råvare op i sorteret i stigende rækkefølge i liste 2 i kolonne B.
List så mange at du ved der er nok.
6000
6000
6000
.
.
.
.
6000

Makro

kopier og fjern øverste emne i liste 1 (liste1.værdi)
Gå til liste 2
Søg ned af indtil der findes et emne, der er <= det kopierede(= liste2.værdi)

Beregn liste2.værdi = liste2.værdi - liste1.værdi
Opdater liste 1.
Skrive i log (et andet sted i regnearket). Eks.: 6000-2000,
sorter list2

gå til start og gør det hele igen.
Gør dette så længe der er emner i liste 1.

Når makroen er færdig, kan du se hvor mange emner, der er fjernet fra liste 2.
Det hele kunne også klares i kode, hvor listerne lægger i arrays.

Michael
Avatar billede koppelgaard Praktikant
03. juni 2007 - 11:38 #2
Der var en skrivefejl. det hele igen:
List alle vare op, emne for emne i sorteret faldende rækkefølge i liste 1 i kolonne A
2000
2000
.
.
2000
1075
1075
.
.
1075
987
.
.
.
osv

List råvare op i sorteret i stigende rækkefølge i liste 2 i kolonne B.
List så mange at du ved der er nok.
6000
6000
6000
.
.
.
.
6000

Makro

kopier og fjern øverste emne i liste 1 (liste1.værdi)
Gå til liste 2
Søg ned af indtil der findes et emne, der er <= det kopierede(= liste2.værdi)

Beregn liste2.værdi = liste2.værdi - liste1.værdi
Opdater liste 2.
Skrive i log (et andet sted i regnearket). Eks.: 6000-2000,
sorter list2 i stigende rækkefølge

gå til start og gør det hele igen.
Gør dette så længe, der er emner i liste 1.

Når makroen er færdig, kan du se hvor mange emner, der er fjernet fra liste 2.
Det hele kunne også klares i kode, hvor listerne lægger i arrays.

Michael
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester