Avatar billede Tangelang Novice
30. oktober 2012 - 11:13 Der er 9 kommentarer og
1 løsning

Celleværdi som en del af stinavnet

Hvordan får jeg inkluderet en celleværdi som en del af det stinavn jeg slår op efter?

I kolonne A har jeg en liste med navne.
Hvert navn har sin eget excelark.
I kolonne B ønsker jeg en sammentælling af værdierne i hvert af regnearkene med navnene fra kolonne A

Eks:

I A2 står der Niels. I B2 ønsker jeg =SUM(C:\[niels.xlsx]Ark1'!B2:B100)
I A3 står der Poul. I B3 ønsker jeg =SUM(C:\[poul.xlsx]Ark1'!B2:B100)

Hvad skal der stå i B2 i stedet for 'niels.xlsx', så formlen refererer til det korrekte excelark?
Avatar billede supertekst Ekspert
30. oktober 2012 - 14:31 #1
Via VBA:

Const startRæk = 2
Dim antalRækker As Long, navn As String, formel As String, ræk As Long
Sub hentTotaler()
    antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = startRæk + 1 To antalRækker
        navn = Range("A" & ræk).Offset(-1, 0)
        formel = Range("B" & ræk).Offset(-1, 0).Formula
        Range("B" & ræk).Formula = Replace(formel, navn, Range("A" & ræk))
    Next ræk
End Sub
Avatar billede stefanfuglsang Juniormester
30. oktober 2012 - 14:38 #2
Via regnearket
i en celle (ex. C2) skriv ="[" & A2 &".xls]Ark1!B2:B100"
i b2: =indirekte(C2)
Avatar billede Slettet bruger
31. oktober 2012 - 06:20 #3
Er det bare for at slippe for besværet med at indtaste "niels", "poul" osv.? Hvis det er, kan du godt bruge INDIREKTE, men der er en pris herfor, nemlig at filerne "niels", "poul" osv. skal være åbne for at du kan få den ønskede sum. Det er, som du sikkert ved, ikke nødvendigt med den syntaks du har vist i dit spørgsmål.

Hans
Avatar billede Tangelang Novice
01. november 2012 - 15:48 #4
Tak for svarene.
Jeg har ikke prøvet at arbejde med VBA, så det kan jeg ikke bruge.
Jeg har i alt 24 filer, hvor medarbejderne taster sygdom, ændring til arbejdstid, kørsel, overarbejde, m.m. i 12 regneark(et for hver måned). For hver af medarbejderne for hver måned ønsker jeg oversigt over henholdsvis antal sygedage, over/underskud af timer, antal kørte kilometer, antal overarbejdstimer, m.m.
Så det er "bare" for at slippe for at taste et nyt navn i hver af de formler jeg bruger (eller for at bruge Søg/Erstat 24 gange).

stefanfuglsangs forslag virker fint, bortset fra at filerne ligger på en anden server end oversigten og at jeg er ikke den eneste der skal se den. Derfor ville jeg gerne undgå at filerne skal åbnes hver gang, der er brug for at se oversigten.

Kan det lade sig gøre?
Avatar billede supertekst Ekspert
01. november 2012 - 16:04 #5
Selv tak - lidt mere om VBA

Den eneste formel er i række 2. Den bliver automatisk tilpasset med brugernavnet i de efterfølgende rækker.

Fra regnearket skal du blot taste Alt+F8 - makroen hentTotaler er markeret - afspil makro.

Det betinger dog at din Excel er indstillet til at kunne anvende makroer. Dette gøres under Excel-indstillinger / Sikkerhedscenter
Avatar billede Slettet bruger
01. november 2012 - 16:09 #6
Ja, men INDIREKTE (stefanfuglsangs forslag) virker kun på åbne filer. Når du ikke ønsker at arbejde med VBA så er der to muligheder:

Enten stefanfuglsangs forslag
eller
Hard coding som du selv viste i dit oprindelige spørgsmål.
Avatar billede Tangelang Novice
05. november 2012 - 08:34 #7
Tak skal i have.

Jeg er endnu ikke klar til makroer, så det bliver fuglsang der får mine point. Skriver du et svar?
Det er muligt at jeg senere benytter supertekst's forslag og så skal du også nok få point.
Avatar billede supertekst Ekspert
05. november 2012 - 08:42 #8
Det er du velkommen til.
Avatar billede stefanfuglsang Juniormester
05. november 2012 - 09:24 #9
Du kan evt. give dig selv points tilbage, det synes jeg er i orden, når du kun delvist kan bruge svaret.

Mvh
Stefan
Avatar billede Tangelang Novice
05. november 2012 - 12:18 #10
Jeg endte med denne formel:

="'H:\ALLE\Arbejdstidsregistrering\[" & $A2 &".xlsx]" & B$1 &"'!G40"

I B1 står der "Jan", hvilket arket også hedder. Når jeg kopierer til de øvrige kolonner, får jeg derved automatisk måneden med.
Skulle lige tilføje ' før H og før ! så syntaksen blev korrekt i forhold til Fuglsangs forslag.

Tak skal i have. Det fungerer ok og meget bedre end at hardcode det hele.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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