Avatar billede baard Juniormester
02. juni 2015 - 20:43 Der er 6 kommentarer

Excel: mange ark - hvordan laver jeg nemt referencer til andre ark!

Hej

Jeg har et problem (jeg er simpelthen udfordret på min dovenskab)

Jeg har en projektmappe med 29 ark.

Ark 1 skal fungere som en slags opsamlingsark
ark 2-29 er alle ens opbygget - som beskrevet herunder:

-Arkene er omdøbt til Hans, Peter, Anne osv. (de hedder altså ikke længere ark1, ark2.....)

-I celle A1 på arkene er der en formel som indsætter arkfanens navn (lavet med en brugerdefineret funktion =arknavn())

- På arkene er der i øvrigt udfyldt en del celler med både tekster formler og rene tal. i i celle h30 er der beregnet en karakter for den pågældende person


Det jeg gerne vil have er:

På ark 1 (opsamlingsarket) vil jeg gerne have lavet en liste med navnene og karaktererne hentet fra de øvrige ark som vist herunder:

Kolonne A      Kolonne B
Hans          7
Peter          4
Anne          10
osv.

Jeg kan sagtens sidde og taste formler ind i hver enkelt celle og via cellereferencer hente oplysningerne fra hver enkelt ark, men det er netop det, jeg gerne vil slippe for.

I en anden tråd har jeg læst om at at bruge funktionen =INDIREKTE(), men jeg synes ikke, at det er muligt, idet arkene ikke hedder ark1, ark2, ark3 osv. Jeg kan altså ikke drage nytte af at arkene hedder det samme bortset fra et løbenummer.

Jeg synes heller ikke at jeg kan bruge konsolidering (i hvert fald ikke i forhold til cellerne, der indeholder tekst)

Er der mon nogen, der har en god ide til hvordan dette let (eller i hvert fald lettere) kan klares?

Jeg er ikke hjemmevant med brugerdefinerede funktioner eller anden VBA-programmering, så hvis det kan klares uden, vil det være skønt.
Ellers håber jeg, at jeg kan få en grundig forklaring

på forhånd tak!
Avatar billede store-morten Ekspert
02. juni 2015 - 21:52 #1
Prøv denne makro på Ark1:
Sub ListArk_Karakter()
    Dim LR As Long
    Dim i As Long, so As Object
   
    Sheets(1).Range("A:A").ClearContents
    i = 0
    For Each so In Sheets
        i = i + 1
        Sheets(1).Cells(i, 1).Value = so.Name
    Next
   
    Range("B1").FormulaR1C1 = "=INDIRECT(RC[-1] & ""!H30"")"
    LR = Range("A" & Rows.Count).End(xlUp).Row
    Range("B1").AutoFill Destination:=Range("B1:B" & LR)

End Sub
Avatar billede store-morten Ekspert
02. juni 2015 - 22:42 #2
Tilføjet overskrifter:
Sub ListArk_Karakter()
    Dim LR As Long
    Dim i As Long, so As Object
   
    Sheets(1).Activate
   
    Range("A:B").ClearContents
    i = 0
    For Each so In Sheets
        i = i + 1
        Cells(i, 1).Value = so.Name
    Next
   
    Range("B2").FormulaR1C1 = "=INDIRECT(RC[-1] & ""!H30"")"
    LR = Range("A" & Rows.Count).End(xlUp).Row
    Range("B2").AutoFill Destination:=Range("B2:B" & LR)

    Range("A1").Value = "Navn"
    Range("B1").Value = "Karakter"
End Sub
Avatar billede xl-Enthusiast Ekspert
03. juni 2015 - 09:25 #3
Avatar billede baard Juniormester
03. juni 2015 - 21:09 #4
Tak for forslagene, som var gode begge to.

Jeg foretrækker dog helt klart xl-entusiastens, da den var den enkleste (for en som mig at forstå).

Bare super!
send mig et svar, så jeg kan uddele point!
Avatar billede baard Juniormester
03. juni 2015 - 21:41 #5
Hov - jeg har lige et lille problem

celler med formlen

=INDEKS(wsNames;RÆKKE(2:2))

og tilsvarende

opdateres ikke automatisk, hvis jeg ændrer arkfanenavne efter at formlen er tastet ind.

Hvis jeg efter at have ændret arkfanenavnet dobbeltklikker på cellen (så jeg kommer i redigerings-tilstand) og efterfølgende trykke enter (for at afslutte redigeringstilstand) opdateres celleindholdet.

Men det er lidt bøvlet at skulle gøre det for hver enkelt celle.

Er der en nem måde at få disse cellers indhold opdateret (gerne automatisk) så er alt bare perfekt, for ellers virker det lige som det skal!
Avatar billede xl-Enthusiast Ekspert
04. juni 2015 - 06:08 #6
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

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



IT-JOB

Staten og Kommunernes Indkøbsservice A/S (SKI)

IT-udvikler

Cognizant Technology Solutions Denmark ApS

SAP Project Manager