Avatar billede svaage Nybegynder
25. maj 2004 - 23:02 Der er 35 kommentarer

Link til celler i en anden af excelfil

hvordan kan jeg linke til en celle i en ikke åben excelfil, med en del af et filnavn placeret i en celle i det åbne excelark?

har prøvet med " =celle("filnavn")" og får filnavnet frem og har prøvet at skære den del væk at filnavnet jeg ikke skal bruge og ved hjælp af en sammenkædning sætte det rigtige filnavn på, men den kan ikke finde ud af at linke til den rette celle.

hilsen Sv@@ge
25. maj 2004 - 23:11 #1
Hvilken del er det du henter i en anden celle?
Avatar billede svaage Nybegynder
25. maj 2004 - 23:20 #2
stien til det åbne ark er f.eks c:\dokumeter\fagfordeling\[samleark.xls]ark1

nu ønskes det at en bestemt celle fra filen [ab.xls]ark1!b36 sættes ind i ovenstående ark i celle b3 og selve navnet der ønkes hentet, i det her tilfælde ab, står i celle a3
Avatar billede svaage Nybegynder
25. maj 2004 - 23:53 #3
jeg vil gå i køjen, vender tilbage i morgen onsdag
hilsen Sv@@ge
Avatar billede jkrons Professor
25. maj 2004 - 23:55 #4
Mit bedste gæt er, at du ikke kan lave et dynamisk link til et lukket ark. Med dynamisk link, mener jeg at linket henter dele af sit indhold fra en anden celle i arket.
Avatar billede steen_hansen Forsker
25. maj 2004 - 23:58 #5
Kigger med
Avatar billede svaage Nybegynder
26. maj 2004 - 00:05 #6
hvis jeg skriver linket direkte i celle på følgende måde

=[ab.xls]ark1!b36

finder den cellen som den skal og skriver den rigtige værdi og excel omdanner selv filnavnet til at være det rigtige link
Avatar billede jkrons Professor
26. maj 2004 - 00:12 #7
Yes. Men hvis du skal hente værdien (eller noget af den) fra en anden celle, skal du bruge funktionen INDIREKTE. Fx kan du have ab.xls stående A3 i cellen, hvior linket skal være kan du så skrive =INDIREKTE("["&A3&"]"&"Ark1!$B$36").

Det eneste problem er bare, at INDIREKTE ikke virker, hvis det ark, der skal hentes fra er lukket. Derfor mener jeg faktisk ikke, at der er en løsning på dit problem, som har oppe mange gange i gruppen her og i forskellige nyhedsgrupper.
Avatar billede oyejo Nybegynder
26. maj 2004 - 06:48 #8
Når du lager formelen, skal du ha begge regneark åpne.
1) Så merker du cellen som skal ha verdien, skriv =.
2) Skift til det annet ark og merk cellen som skal linkes. Avslutt med enter.
Da slipper du å tenke på formelen. Hver gang du åpner regnearket, vil det sjekke om den andre verdien er endret. Du får spørsmål om du vil oppdatere.
Avatar billede jkrons Professor
26. maj 2004 - 08:37 #9
oyejo-> Men her kommer en del af formlen fra en anden celle i arket. Og det er hele problemet.
Avatar billede oyejo Nybegynder
26. maj 2004 - 08:50 #10
jkrons-> du har så rett, startet nok for tidlig i dag ;-)
.., men hva hvis oppgaven blir delt i 2?
- først en ren link
- så benytte dette svaret i neste operasjon.

Er ikke sikker på at jeg har forstått problemet riktig.
Avatar billede jkrons Professor
26. maj 2004 - 08:54 #11
Nu er det ikke nævnt direkte, men normalt plejer denne slags problemstillinger at opstå fordi man vil kunne hente data fra flere forskellige regneark med samme formel.

Det kan fx være at man har 15 regneark, hvor man har en information stående i B36.I den ene uge skal man hente information fra ab.xls, i næste uge fra cd.xls og så videre. Hvis det så havde kunnet lade sig gøre, kunne man nøjes med at skrive cd.xls i celle A3. Desværre er jeg ret overbevist om, at det ikke kan lade sig gøre. :-(

Bruger man din metode, skal hele linket ændres hver uge.
Avatar billede jkrons Professor
26. maj 2004 - 08:58 #12
Man kan selvfølgelig gøre det, at man dels laver et almindeligt hyperlink, som først bruges til at åbne arket med, og dernæst bruger min formel. Det kræver dog, at der skal laves hyperlink til alle de potentielle ark, der kan blive tale om.
Avatar billede jkrons Professor
26. maj 2004 - 09:08 #13
Og ved nærmere eftertanke kan dette faktisk også gøres dynamisk. Så man kun skal ændre navnet på arket et sted, derefter åbner man det via et hyperlink, og så virker INDIREKTE formlen.
Avatar billede jkrons Professor
26. maj 2004 - 13:14 #14
Måske skulle jeg beskrive løsningen :-)

I A3 skrives navnet på filen ( incl.sti, hvis den ligger et andet sted, end den aktuelle fil).

I fx B3 indsættes formlen =HYPERLINK(A3;"Klik her") - eller en mere kreativ tekst.

I fx C4 indsættes min formel fra tidligere =INDIREKTE("["&A3&"]"&"Ark1!$B$36").


Når funktionen skal bruges, klikkes på cellen med hyperlinkformlen. Dette bevirker at arket, der indeholder data åbnes, og cellen med Indirekte() formlen vises så indholdet af B36 i det nu åbne ark. Når arket, der linkes til, lukkes igen viser cellebn med formlen #REFERENCE!
Avatar billede oyejo Nybegynder
26. maj 2004 - 13:30 #15
jkrons-> det går vel å hente data uten å åpne den andre filen?
Det går jo hvis man bare skal ha en celleverdi.
Avatar billede jkrons Professor
26. maj 2004 - 14:41 #16
oyejo-> Ja, men ikke med INDIREKTE. Den virker kun mod åbne filer.
Avatar billede svaage Nybegynder
26. maj 2004 - 20:22 #17
problemet er som jkrons nævner at der skal hentes fra ca 50 forskellige ark og navnene på disse ark varierer fra gang til gang. Så vidt jeg kan se ud fra jeres kommentarer kan det altså ikke lade sig gøre uden at skulle trykke på 50 forskellige hyperlinks, som så skal lukkes bagefter ?
Avatar billede bak Forsker
26. maj 2004 - 20:46 #18
Kun med en makro er det muligt at gøre det smartere.
Den er relativ nem at lave hvis feks. filnavn står i kolonne A, arknavn og cellen der hentes fra står i kolonne B og resultatet i kolonne C.'
Hvis det er tilfældet at dine data er skrukturet nogenlunde således, skal jeg da hurtigt fikse det.
Avatar billede svaage Nybegynder
26. maj 2004 - 20:52 #19
bak: det kan godt organiseres på den måde du forslår, men jeg er ikke en haj til VBA, forstår dog en smule af hvad er foregår, så det ville være dejligt hvis det var noget du kunne fikse
Avatar billede svaage Nybegynder
26. maj 2004 - 20:55 #20
det handler om nogle fagfordelings skemaer som nogle lærere udfylder, hver lærer har sin egen fil, det der er meningen med dette spørgsmål er at kunne samle de forskellige lærers oplysninger i et ark, når alle har tastet det de skal
Avatar billede bak Forsker
26. maj 2004 - 20:58 #21
ok, så er det da vist snart ved at være op over :-)
Jeg kigger lige på opgaven og vender tilbage
Avatar billede jkrons Professor
26. maj 2004 - 21:16 #22
svaage-> I min løsning skal du bare have et hyperlink. Derefter indtaster du navnet /evt med sti til den pågældende fil i en celle, og klikker på hyperlinket.  Men du vil ikke kunne få vist data fra alle arkene på en gang. Så skal du, som du selv skriver have dem alle åbne samtidigt.
Avatar billede bak Forsker
26. maj 2004 - 22:02 #23
Indsæt nedenstående i et alm kodemodul.
Brug:
Sti og filnavn i Kolonne A, Ark og celle i kolonne B.
Marker i kolonne C, de celler der ønskes udfyldt og kør makroen

Det behøver ikke være A,B og men det skal være tre tilstødende kolonner.
se eksempel http://www.excel.frac.dk/hentdata.xls

Sub GetTheCell()
Dim Sti_Fil As String, Ark_Adr As String
Dim Sti As String, Fil As String, Ark As String, Adr As String
Dim lTest As Long
Dim rng As Range
Set rng = Selection
On Error Resume Next
For Each c In rng
    If IsEmpty(c.Offset(0, -1)) Then GoTo igen
    Sti_Fil = c.Offset(0, -2)
    Ark_Adr = c.Offset(0, -1)
    lTest = InStrRev(Sti_Fil, "\")
    Sti = Left(Sti_Fil, lTest)
    Fil = Mid(Sti_Fil, lTest + 1)
    lTest = InStrRev(Ark_Adr, "!")
    Ark = Left(Ark_Adr, lTest - 1)
    Adr = Mid(Ark_Adr, lTest + 1)
    c.Value = hentceller(Sti, Fil, Ark, Adr)
igen:
Next
End Sub

Function hentceller(p, f, s, c)
hentceller = "='" & p & "[" & f & "]" & s & "'!" & Range(c).Address(, , xlA1)
End Function
Avatar billede svaage Nybegynder
26. maj 2004 - 22:24 #24
hvad mener du med "Marker i kolonne C, de celler der ønskes udfyldt " ?
Avatar billede bak Forsker
26. maj 2004 - 22:39 #25
hvis du har hentet eksemplet, så vi lige taler samme sprog, så mener jeg marker C1:C3
Kør makroen og de tilhørende data vil blive hentet.

ps. i eksemplet bliver der ikke hentet noget, da disse file ligger på min maskine :-)
Avatar billede svaage Nybegynder
26. maj 2004 - 22:44 #26
jeg er med, har lige fået det til at virke for første gang
Avatar billede bak Forsker
26. maj 2004 - 23:18 #27
ok, kan det bruges eller skal det tilrettes ?
Avatar billede svaage Nybegynder
26. maj 2004 - 23:24 #28
det ser umiddelbart ud som om at det kan bruges, men jeg bliver nødt til at teste det lidt mere i morgen. Jeg har forskellige udgaver at arkene liggende i forskellige mapper, jeg oprettede samlefilen i samme mappe som nogle ark der var tastet d.17-5 og der virkede det fint. Jeg kopierede samlefilen over i en mappe med ark der var tastet d 23-5, men her virker det som om at den ikke kan fungere, men som sagt jeg vil teste videre i morgen, går  i seng nu, skal tidligt op i morgen
Hilsen sv@@ge, tak for hj¨ælpen indtil videre
Avatar billede svaage Nybegynder
27. maj 2004 - 13:19 #29
hjælp !!!!! jeg ´har nu testet lidt videre, det viser sig at hvis jeg kopierer samlemappen, fra mappen 17-5-04 til 23-5-04, bliver den ved med at hente værdierne fra d. 17-5. Hvorfor det ??????
Avatar billede bak Forsker
27. maj 2004 - 17:26 #30
Den henter fra nøjagtig den sti og fil, der står i kolonne A.
Måske skal vi lave en opdeling af sti og fil.
prøv at sende mig et eksemplar (test) så skal jeg se hvad der kan gøres.
tommybak@netscape.net
Avatar billede svaage Nybegynder
27. maj 2004 - 18:13 #31
jeg har lige sendt et eksemplar afsted
Avatar billede bak Forsker
27. maj 2004 - 20:11 #32
Du har ikke indsat en sti, kun et filnavn. Det excel så gør, er at den selv indsææter stien.
På dit "nye" ark skal du også makroen.
Avatar billede svaage Nybegynder
27. maj 2004 - 20:20 #33
ja den indsætter selv stien, da alle 3 ark ligger i samme mappe havde jeg fået den opfattelse at det ikke var nødvendigt at skrive hele stien i f.eks celle A1. Jeg prøvede at sætte hele stien i celle A1 og det eneste der skete ved det var at efter at have kørt koden stod stien 2 gange efter hinanden i celle C1

Jeg mener jeg har indsat makroen i et modul på det nye ark
Avatar billede bak Forsker
27. maj 2004 - 20:36 #34
På dit "nye" ark skal du også køre makroen....
jeg har taget patent på stavefejlen indsææter :-)
Avatar billede svaage Nybegynder
27. maj 2004 - 20:41 #35
ja det er klart men alligevel kommer den op med de gamle værdier fra den forrige placering af filen
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