Avatar billede 8718 Juniormester
08. maj 2004 - 17:32 Der er 6 kommentarer og
2 løsninger

Arknavn som variabel

Jeg har en excelfil med 31 ens ark. Navngivet 1-31.

I et nyt ark ville jeg gerne kunne lave nogle beregninger baseret på dataene i et bestemt ark. F.eks. hvis jeg skriver et 2-tal i en celle, så skal jeg kunne beregne udfra de tal der er angivet i arket med navnet 2.

Kan jeg det - og i givet fald hvordan?
Avatar billede brynil Nybegynder
08. maj 2004 - 18:28 #1
Du kan placere værdien du taster i cellen i en variabel og bruge denne som arknavn.
Fx:

Sub test()
Dim ArkNavn  As String
Dim Resultat As Long

Sheets("Ark4").Activate
ArkNavn = Cells(1, 1).Text

Sheets(ArkNavn).Activate

    Resultat = Cells(1, 1).Value + Cells(2, 1).Value
    MsgBox Resultat

End Sub

Jeg vil foreslå du enten kører makroen manuelt, anvender en knap eller et menupunkt for at aktivere den.
Avatar billede kabbak Professor
08. maj 2004 - 18:51 #2
her er en brugerdefineret funktion:

Public Function Ad(FraArk As String, VærdiCelle As Range)
Ad = Sheets(FraArk).Range(VærdiCelle.Address).Value
End Function
Avatar billede kabbak Professor
08. maj 2004 - 18:55 #3
Nå, med et mere sigende navn

Public Function FraFremmedArk(FraArk As String, VærdiCelle As Range)
FraFremmedArk = Sheets(FraArk).Range(VærdiCelle.Address).Value
End Function


FraArk er cellen med arknavnet.
VærdiCelle = en celleadresse
Avatar billede 8718 Juniormester
09. maj 2004 - 16:46 #4
Jeg er ikke nogen ørn til alle disse koder.
Min fil indeholder 31 ark med møde- gåtider for samtlige medarbejdere pr. dag.
Jeg ville så gerne lave et ekstra ark, hvor brugere hentede data fra den dato vedkommende ønskede at se. I dette ark skulle der så foretages nogle beregninger på den pågælende dag.
Jeg forstiller mig f.eks., at brugere i celle A1  skiver arknavnet, og i de beregninger der så laves i pågælende ark, indsættes nogle formler hvor dataene i det angivne ark hentes.
Formlen kunne f.eks. se således ud "=+'21'!j13" hvis dataene skulle hentes fra ark 21
Det jeg ville var, at skrive 21 i celle A1 og så referere til den celle istedet for det pågælde ark. Men det virker ikke.
Håber I forstår hvad jeg mener.
Avatar billede kabbak Professor
09. maj 2004 - 21:21 #5
her er en demo af min funktion.
http://kabbak.frac.dk/EXCEL/DataFraAndreArk.xls
Avatar billede klid Nybegynder
09. maj 2004 - 23:56 #6
Brug funktionen "indirekte". Så har du fx en celle (x27) hvor i det arknummer du er interesseret i står efter alle dine beregninger. Når du så skal hente noget i celle n37 i ark x27 skriver du;

=indirekte(x27 & "!n37")

Indirektefunktionen kan også sættes ind i andre formler.
Avatar billede tobler Nybegynder
07. december 2004 - 15:10 #7
Søgte efter en funktion til at referere til en celle fra VBA, og så dette spørgsmål, hvor denne løsning burde hjælpe.
=INDIRECT("'" & A1 & "'!j13") på dansk: =INDIREKTE("'" & A1 & "'!j13")
Avatar billede klid Nybegynder
07. december 2004 - 17:16 #8
Tober> Er det ikke lgie det jeg forslog ofr ½ år siden?
8718> Hvad med at få lukket?
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