Avatar billede degnens Mester
25. juni 2004 - 11:04 Der er 18 kommentarer og
1 løsning

celleindhold som en del af en tekst-reference

Jeg samler nogle data fra forskellige medarbejderes timeforbrugsskemaer i en oversigt over samlet timeforbrug på de enkelte projekter, vi har i gang. Derfor skal jeg lave en mængde kæder til eksterne regneark (den enkeltes timeskema)inde i min oversigt. Alle timeskemaer ligger i samme mappe og hedder det samme - bortset fra medarbejderen navn, f.eks.: "Arbejdstidsskema 2004 Lars.xls" for mit eget vedkommende. Henvisningen i oversigten kommer derfor eksempelvi til at til at hedde: "C:\Timesedler\[Arbejdstidsskema 2004 Lars.xls]Dataark'!$C$5".

Nu har jeg så en lang række medarbejdere, hvis timesedler jeg skal henvise til. Den eneste forskel i de mange henvisninger, er at Lars byttes ud med Knud, Per og Poul etc. I stedet for at skulle klikke ind i formellinien på den enkelte celle på det helt rette sted og der taste det rigtige navn, ville jeg have stor fordel af at kunne taste navnet i øverste celle, A1, i medarbejderens kolonne og så indsætte denne celles tekst-indhold som en del af referencen til det pågældenden fil-navn, altså noget a la dette: "C:\Timesedler\[Arbejdstidsskema 2004 [A1].xls]Dataark'!$C$5". Det ville også gøre det muligt for mig at genbruge navnet indtastet i A1 i flere formler nedover i oversigten.

Jeg har bøvlet en del med dette i flere omgange, så jeg sætter et par hundrede points på højkant, da det vil være en stor hjælp om det kunne lykkes.
Avatar billede jkrons Professor
25. juni 2004 - 11:06 #1
Opgaven kan løses med INDIREKTE(), men det kræver at alle de regneark, du skal referere til er åbne, da funktionen kun virker på åbne ark. Alternativt må der nok laves en makro, som gør det.
Avatar billede tobler Nybegynder
25. juni 2004 - 11:11 #2
Hvis jeg har forstået dit problem korrekt, er der måske lidt hjælp at hente her: http://www.eksperten.dk/spm/502586
Avatar billede degnens Mester
25. juni 2004 - 11:12 #3
Men det er jo en rent intern opgave at udforme formellinien, så hvorfor skal det eksterne regneark være åbent? Når jeg manuelt skriver henvisningen fuldt ud, fungerer det fint selv om de andre ark ikke er åbne. Det jeg efterlyser er altså bare at formlen flettes sammen af en fast tekst og en tekstværdi fra en anden celle i samme regneark. Men det var måske også sådan du havde forstået spørgsmålet og bare mig, som ikke helt forstår svaret?
Avatar billede jkrons Professor
25. juni 2004 - 11:14 #4
Det er rigtigt, at det virker, hvis du gør det manuelt, men når du fletter sammen af fast tekst og værdi fra anden celle, bliver det til en tekststregn, ikke en reference. Du er derfor nødt til at bruge INDIREKTE til at oversætte tilbage til en reference, og INDIREKTE virker kun på åbne ark.
Avatar billede jkrons Professor
25. juni 2004 - 11:21 #5
bak's løsning fra den reference tobler gav burde virke, men det er svært at teste, når man ikke har dine regneark liggende :-)
Avatar billede jkrons Professor
25. juni 2004 - 11:58 #6
Dette er nok ikke de vises sten, og måske har misforstået opgaven, men det kan mpske gøre tilværelsen nemmere:

Jeg forudsætter, at hver medarbejder har en kolonne i dit samleark, og at den information, du skal hente for den pågældende medarbejder ligger i samem ark og samem celle for alle medarbejdere. Medarbehjderens navn står øverst i hver kolonne.

Hvis du placerer din markør i den celle, hvor du vil have indsat informationen og afspiller denne makro, indsætter den en formel, der henter data fra celle C5 i den relevante medarbejders projektmappe. Funtkionen er dog ikke dynamisk, og dui skal afspille makroen for hver enkelt medarbejder.

Sub IndsLnk()
    a = Selection.End(xlUp).Value
    b = "='C:\timesedler\[arbejdstidsskema 2004 " & a & ".xls]datark'!$C$5"
    ActiveCell.Formula = b
End Sub
Avatar billede degnens Mester
25. juni 2004 - 12:31 #7
Jeg er bange for at du har ret. Jeg har afprøvet dit forslag med indirekte() i samleskemaet, og det fungerer helt som jeg kunne tænke mig - når altså det andet ark er åbent... Så det kan nok ikke lade sig gøre uden, som du skriver. Og du har forstået det korrekt, at det et helt parrallelt problem som det der behandles i det spørgsmål du henviser til.

jeg kunne dog godt lige tænke mig at afprøve dit sidste forslag, men jeg har aldrig arbejdet med makroer i Excel før, kun i Access, og det er jo noget helt andet. Så hvordan lægger jeg en makro ind i en celle, og hvordan afspiller jeg den?
Avatar billede bak Forsker
25. juni 2004 - 12:33 #8
Jkrons's løsning burde virke og en makro er den eneste måde at gøre det på.

Der findes ingen måder at sammensætte en sådan streng i en excel-funktion  (Heller ikke i en brugerdefineret vba-funktion.

Du kan selvfølgelig sammensætte din streng ="=" & A1 & B1  sådan
kopier og vælg indsæt værdi, trykke F2. Så virker det....men det er lidt manuelt :-)
Avatar billede jkrons Professor
25. juni 2004 - 12:34 #9
Makroen skal ikke ligge i en celle, men i et modulark.

Tryk Alt+F11. Vælg Insert - Module. Kopier koden til arket.

Luk VBA igen.

Stå i den celle, hvor værdien fra det andet ark skal indsættes. Vælg funktioner - makro - makroer. Marker makroen og klik på afspil. Hvis det virker kan vi lave en genvejstast til dig.
Avatar billede degnens Mester
25. juni 2004 - 12:44 #10
Du har svaret på mit spørgsmål så langt programmet tillader. Så tak for hjælpen.
Avatar billede degnens Mester
25. juni 2004 - 12:45 #11
Nå, nu er der igen problemer med at acceptere og tildele points. Jeg prøver lige igen...
Avatar billede degnens Mester
25. juni 2004 - 12:47 #12
Øh, hvorfor vil den ikke? Jeg har nu 5 gange trykket på Accepter, men der sker tilsyneladende ikke noget.
Avatar billede jkrons Professor
25. juni 2004 - 12:55 #13
Klik på navnet først, og prøv så igen :-)
Avatar billede degnens Mester
25. juni 2004 - 14:36 #14
Tak for hjælpen. Det ser ikke helt ud til at fungere med makroen, og jeg har ikke lige tålmodighed til at sætte mig ind i, hvad der er galt. Jeg vil også helst undgå behovet for at skulle have de andre ark åbne for at kunne læse min oversigt, så jeg tror jeg vil affinde mig med at skulle taste hele stier ind når der sker ændringer i medarbejderstaben. Men jeg blev da lidt klogere m.h.t. dynamiske referencer, når det gælder inden for samme fil - og det tror jeg jeg kan få megen glæde af fremover. Så tak for indsatsen, som var både hurtig og præcis.
Avatar billede jkrons Professor
25. juni 2004 - 14:45 #15
Velbekomme! Jeg håber at du får resten til at virke fornuftigt også. Nu vil jegtage på ferie, så hav det godt :-)
Avatar billede degnens Mester
25. juni 2004 - 15:09 #16
Undskyld, nu er jeg her igen. Jeg har fået makroen til at fungere!! og ser nu værdien af den, i forbindelse med oprettelse af nye medarbejdere. Jeg fik ovenikøbet oprettet en knap som kører makroen, så det er så nemt, så nemt!!! Vil jeg kunne udvide makroen til at tilføje to forskellige referencer i samme kolonne i række b og c?, da ville det være helt perfekt.
Avatar billede jkrons Professor
25. juni 2004 - 15:30 #17
Det kan du godt. Men så bliver du nødt til at vide, præcis hvor de skal stå, da jo kun en celle kan være aktiv ad gangen.
Avatar billede degnens Mester
25. juni 2004 - 16:14 #18
Ok, jeg laver 2 knapper og lader det blive ved det p.t. Tak for hjælpen og god ferie.
Lars
Avatar billede jkrons Professor
25. juni 2004 - 17:00 #19
Velbekomme :-)
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