25. oktober 2004 - 22:39Der er
35 kommentarer og 1 løsning
Kopiere data fra en celle til en anden
Hej Eksperter!
Jeg har et problem jeg skal have løst. Jeg har et regneark over medarbejdere og deres opnåede resultat for hver måned, samt en dato for hvornår resultatet er opnået. Jeg har medarbejderne listet som kolloner og første/øverste række er så de forskellige måneder med henholdsvis score og dato vedhæftet i kolonnenavnet.
Mit problem er nu, at det begynder at blive uoverskueligt at tilføje data i arket fordi det er stort. Kan jeg lave et ark, hvor jeg indtaster medarbejderens navn, vælger måned, indtaster dato for resultat og score, og så få excell til at finde medarbejderens række og kopiere dataene til den rigtige plads?
Jeg kan simpelthen ikke finde ud af det, og jeg er nød til at gøre datatilføjelsen mere sikker.
Når arket er blevet for stort (uoverskueligt), kan det så være fordi dine kolonne- og rækkeoverskrifter ikke er synlige i hele arket. I så fald kan du fryse dem.
Iøvrigt må jeg trække mit forslag vedr. VOP og LOP tilbage. Jeg tror alligevel ikke det er det rigtige til det du søger.
Ja men de kan ikke kopiere data. De kan hente fra en position, men da jeg skal indlægge data for flere medarbejdere hver dag, er jeg nød til at kunne "tømme" formen hver gang jeg har kopieret data så jeg kan tilføje ny data.
Håber det giver menning... Opslags funktionerne viser kun data, de flytter/kopierer det ikke, desværre
Mht størrelsen: Det er primært uoverskueligt fordi der efterhånden er mange medarbejdere og mange måneder i... jeg kører allerede med frosne vinduer. Desuden tror jeg at det vil være bedst på sigt at opfinde en funktion da også andre skal kunne tilføje i arket, og det stoler jeg ikke på som det er nu.:-(
Det kan formodentlig godt lade sig gøre at lave en makro der gør arbejdet, men umiddelbart ville jeg mene at det nærmere var en opgave for Access end Excel.
jkrons > Tænkte lidt over spørgsmålet, da jeg havde afsluttet iaftes. Og jeg er da overbevist om, at Excel kan klare opgaven, men jeg er enig med dig i dit synspunkt, at det er en opgave for Access.
Jeg er helt enig med jer begge, og har lavet et system der kan klare det uden problemer i access. Men vores kære it afd på jobbet vil ikke have access og jeg kan altså ikke bruge det.
prøv engang at beskriv lidt mere præcist i hvilke felter du skriver hvilke oplysninger (bare for en eller to medarbejdere), så kan en eller anden jo sætte sig og lave et "pænt" udkast til dig...
Jamen lad os tage den fra bunden:-) Jeg har nogle medarbejdere som jeg skal have registreret nogle data for hver måned. Hver måned er der to datatyper der skal gemmes: dato og score.
Som det er nu har jeg et data skema der ser sådan ud: 1 2 3 4 5 6 7 A Navn okt_dato okt_score nov_dato nov_score dec_dato dec_score OSV OSV B Jens C Niels OSV OSV
Jeg vil så gerne have et ark, hvor jeg kan vælge medarbejder og måned, og så intaste dato og score værdi. Jeg forestiller mig jeg har en "overfør-knap" er kopierer det indtastede til de rigtige celler alt efter navn, måned og type. Hvis skemaet for oven er helt hen i vejret må i gerne komme med bud på hvordan det kan gøres anderledes.
Jeg tænkte vi kunne lave det lidt nemmere: Hvis vi dropper månedsseperationen? Der er jo lige meget at regristrere hvilken måned det er registreret i når vi logger datoen. Altså: Når der tilskrives til datafilen skal der altså bare tilføjes i næste ledige celle ud for medarbejderen.
Jeg sender dig et eksempel på begge løsninger. Når du åbner arket, popper formularen automatisk frem. Så kan du afprøve den. Når du er færdig lukker du den bare. Derefter kan du afprøve den anden løsning, hvor du taster i de tre "gule" celler og klikker på knappen i arket.
Når jeg prøver løsningen uden formular får jeg en fejl;
Den skriver Compile error: Named argument not found ... og følgende tekst er markeret i debuggeren: Cells.Find(What:=nv, After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False,[[MARKERET SearchFormat:=]]False).Activate
ErrMsg: If Err.Number = 91 Then MsgBox "Den pågældende findes ikke i arket med data" Else MsgBox Err.Description End If
End Sub
Du taster i et ark, der hedder Indtast, og dine data ligger i et ark, der hedder Data. Alle navnene skal stadig eksistere i data inden du kan bruge knappen i Indtast. Hvis du taster et navn, der ikek eksiterer vises en meddelelsesboks, og derefter skiftes til data arket, så du kan oprette den pågældende. Så kan du skifte tilbage til indtastningsarket og klikke på knappen igen.
Sådan så kopierer den løs.... bre en lille ting til: Hvis jeg udfylder tekst i stedet for tal i score så får jeg type mismatch. Har du lavet en datavalidering jeg kan fjerne? Jeg vil gerne kunne skrive en kort tekst ind i mellem....
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.