27. juli 2004 - 13:22Der er
10 kommentarer og 1 løsning
Hente oplysninger fra lukket dokument
Kan det lade sig gøre at hente oplysninger fra en bestemt celle i alle de exceldokumenter der ligger i et bestemt bibliotek? Uden at skulle åbne dokumenterne.
i 5 forskellige dokumenter står arealet for en bygning, og jeg har 5 forskellige bygninger, og vil gerne have det totale areal lagt sammen i et seperat dokument. Det skal selvfølgelig rette sig, hvis der bliver rettet i et af de andre dokumenter.
Du skal blot åbne alle dokumenterne og så lave formlen på normal vis (ved at markere de forskellige celler med musen). Derefter lukker du blot de andre dokumenter igen.
Indholdet i cellerne vil automatisk blive opdateret, hver gang du åbner Excel (Eller beder Excel om at opdatere dem).
Jeg glemte lige at skrive at opdatering efter åbning af arket, kan foregå ved at vælge menuen Rediger/Kæder og så her vælge kæden og trykke på "Opdater nu". Alternativt kan du redigere cellen (tryk på F2) og tryk Enter. Herved opdateres kæden også.
Jeg ville ikke til at åbne de andre ark, fordi det skal kunne fungere hvis der er en anden der ligger et nyt dokument ind i mappen, derfor duer det hellerikke at navngive de enkelte dokumenter, da jeg jo ikke ved hvilke, og hvor mange der kommer.
Men det kunne nok godt tilpasses det jeg skal have lavet, men jeg vil ikke til at ændre navngivningen hver gang.
"='C:\Documents and Settings\Administrator\Dokumenter\[Mappe1x.xls]Ark1'!$B$3" er god nok, hvis det kun er et enkelt dokument det drejer sig om. Jeg ville gerne have skiftet Mappe1x.xls ud med *.xls men så melder Excel fejl...
Mit bud er du skal have gang i et script som iterere ned igennem fillisten.
Som basis er det ikke noget Excel umiddelbart kan klare selv, da den vil have en specifik reference. scriptet vil levere en specifik reference, den vil bare gøre det fortløbende.
Desværre har jeg ikke så god fod på VB scripts så jeg kan sige hvad den skal indeholde, men måske vil det være muligt at "optage" sig frem til en tilnærmelse.
Du kan ikke bruge f.eks. * i filnavnet. Excel undersøger med det samme om referencen findes, så det skal være et præcist filnavn. Du kan jo f.eks. lave en referencerne i flere celler, og så tage summen efterfølgende, f.eks.:
B2: ='C:\Documents and Settings\Administrator\Dokumenter\[Mappe1x.xls]Ark1'!$B$3 B3: ='C:\Documents and Settings\Administrator\Dokumenter\[Mappe2x.xls]Ark1'!$B$3 B4: ='C:\Documents and Settings\Administrator\Dokumenter\[Mappe3x.xls]Ark1'!$B$3 osv.
Men det kræver jo at du ved, hvad filerne hedder. Hvis ikke du ved det, så er du nødt til at prøve med noget kode som d0stuffz foreslår.
hvis jeg starter med "=SUM('D:\Documents and Settings\Administrator\Dokumenter\[Mappe1x.xls]Ark3:Ark1'!$B$3)" og bagefter går ind og ændrer arknavnet, så opdaterer den selv i hovedarket :-)
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.