Avatar billede swamboo Seniormester
05. oktober 2003 - 21:24 Der er 13 kommentarer og
3 løsninger

Pograsiv lagerføring i excel

Nu må ørene spidses!

Det jeg gerne vil lave er en pograsiv lagerliste som kan printes ud.

Den skal bestå af månederne fra Jan - Dec. Det er ikke muligt at lave det sådan at jeg selv skriver data i felterne, men jeg ville gerne lave det sådan, at jeg angiver i et felt hvilken måned data'ene skal fyldes over i (angiver jeg 3 bliver data fyldt i Marts)

Det er jo ikke så svært, men når jeg så skriver 4 (for april) bliver data i marts =0 igen og data står istedet i april.

Det kunne være fedt hvis marts beholdt sine tal, selv om jeg angav et 4'tal osv.

Kan i følge min tanke??
Avatar billede janvogt Praktikant
06. oktober 2003 - 10:49 #1
Så skal du have gang i en makro og Worksheet_Change hændelsen.
Avatar billede stefanfuglsang Juniormester
06. oktober 2003 - 15:00 #2
Måske forstår jeg ikke helt hvad du vil - jeg forstår godt din ide om at kopiere en give kolonne udfra et månedsindeks, men det kan man vist ikke uden om makroer.
Hvis det altid er jan-dec du vil vise (formentlig ud fra nogle data, der går over flere år?), så kan du vel lave et ark der henter de tolv måneder (fra f.eks. ark1 til ark2)?

Hvordan er dine data, og hvordan skal det se ud?
Avatar billede swamboo Seniormester
06. oktober 2003 - 17:18 #3
janvogt >> Jeg kender ikke "Worksheet_Change hændelsen" - Kan du fortælle mere eller give et link til noget?!?

stefanfuglsang >> Det er faktisk lige omvendt. Jeg har en række datafelter som hele tiden ændre værdi. Jeg ville gerne præcis den 1 have gemt værdierne af felterne før de ændre sig den 2. De data jeg "gemmer" vil jeg gerne have i et stort ark så jeg kan sammenligne osv...

Mine data ligger fra e7 til e210
Jeg vil gerne have et årsskema på ark 2 - men det er jo ikke noget problem at lave - problemet ligger i hvordan jeg laver et felt som kun bliver opdateret den ene gang.
Avatar billede stefanfuglsang Juniormester
06. oktober 2003 - 17:39 #4
Så må jeg nok give janvogt ret.
Worksheet_change finder du således:
1) højreklik i fanen på Ark1 og vælg vis programkode
2) i de to dropdown-bokse ovenover vælger du Worksheet hht. Change
Nu har du en procedure, der kaldes, hver gang der sker en ændring på ark1
Parameteren Target viser hvilken celle der er ændret.

i koden kan du f.eks. skrive

if Target.Address = "$A$1" then
  KopierData(Target.value)
endif

hvor $A$1 antages at være din ændrede celle, og proceduren KopierData kopierer data afhængig af værdien i cellen
Avatar billede swamboo Seniormester
06. oktober 2003 - 17:49 #5
OK - det vil jeg lige fumler lidt med... 
I hører nærmere! Tak så langt!
Avatar billede swamboo Seniormester
06. oktober 2003 - 21:08 #6
Hej igen...

Har du måske et lille eksempel jeg kan kikke på - jeg kan slet ikke få nogen reaktion fra noget af det jeg skriver.

ekspert@pudser.dk
Avatar billede kabbak Professor
06. oktober 2003 - 22:30 #7
har sendt et eks.
Avatar billede swamboo Seniormester
06. oktober 2003 - 22:57 #8
Rigtig, rigtig godt...  Det er præcis hvad jeg søger!!!

Er det i orden hvis jeg deler point mellem dig og hr. stefanfuglsang??
(i så fald mangler jeg også et svar fra dig!)

Men for nu at forstå hvad der sker:
Hvor angiver du "Data"??
Hvor angiver du "target"?? Jeg går ud fra at den skal angives for at den ved hvor den skal sætte kopien ind.
Avatar billede kabbak Professor
06. oktober 2003 - 23:37 #9
det er i orden med points,

jeg har angivet "data", fordi så kan man kalde området overalt,
ellers hedder det.

Sheets("Ark1")select
range("E2:E210).copy

Så er range("Data").copy
nemmere

Target er celle B3, den fanges hvis den ændres, eller du kikker i den, comboen i celle b3 er lavet med datavalidering.

hilsen kabbak ;-))
Avatar billede swamboo Seniormester
07. oktober 2003 - 17:01 #10
Tak for detaljerne kabbak - men jeg fatter stadig ikke: (sorry!)
Hvordan markerer du hvad range("data") er - skal du ikke fortælle regnearket et eller andet sted at det er ark1 og e2:e210??

Og hvor angiver du hvor de skal indsættes? Om det skal indsættes fra a1 eller fra b32 - markerer du det under oprettelse - og hvis - hvordan, for jeg kan ikke lige greje den.

Ved du om der er en hp hvor man kan læse om dette, så er et link også velkommen!

På forhånd tak for din hjælpsomhed/tålmodighed!
Avatar billede kabbak Professor
07. oktober 2003 - 17:15 #11
Du makerer et område, som du vil bruge til at arbejde med.
Oppe i venstre hjørne, lige over A kolonnen, er et felt hvor man kan se hvad cellen hedder.
Mens makeringen er aktiv, klikker du ind i feltet og skriver en titel, når du så har skrevet den trykker du på ENTER tasten, så er navnet gemt og bruges som range
Avatar billede kabbak Professor
07. oktober 2003 - 17:19 #12
en anden vej er at vælge Indsæt/navn /definer.

der kan du oprette / slette og rette i dem.
Avatar billede swamboo Seniormester
07. oktober 2003 - 17:32 #13
Ja, selvfølgelig!!! Nu tror jeg jeg har den!!!
1000 tak for jeres hjælp - og 10.000 tak for kabbak's fine excel ark.
Hvis andre har brug for at se den fine excel fil kabbak har lavet kan den hentes her:
www.pudser.dk/eksperten/lagerliste.zip
Avatar billede kabbak Professor
07. oktober 2003 - 17:39 #14
tak for points.

Ikke mere ros, så rødmer jeg.

kabbak :-D
Avatar billede swamboo Seniormester
09. oktober 2003 - 22:14 #15
Kabbak >> Lige et hurtigt ?.

Jeg åbner "dit" ark. trykker alt+f11 - jeg ser din kode. FINT!
Hvis jeg så klikker på ark1 med højre og vælger vis programkode, for at rediger i det, så er dit ark væk ved alt+f11 tasten.

Hvor vælger man i de ark??
Avatar billede kabbak Professor
09. oktober 2003 - 22:20 #16
Den store kode ligger i Modul1 og kaldet ligger i modulet under ark1
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