Avatar billede scoty Nybegynder
22. januar 2014 - 10:59 Der er 8 kommentarer og
1 løsning

Navngive et regneark med celle værdi fra et andet regneark

Kære eksperter,

Jeg har behov for følgende VBA kode:

Jeg har et regneark, hvor jeg indtaster en masse navne i forskellige celler.

Disse navne vil jeg gerne kunne bruge til at navngive de enkelte regnark som jeg har lavet.

Det kunne også være fedt, hvis når et navn ændres, at regnearkets navn ændres med det samme.

Med venlig hilsen
Scoty
Avatar billede supertekst Ekspert
22. januar 2014 - 11:29 #1
Hej scoty

Skal det forstås sådan, at der er tale om samme fil, hvor du har navne på et ark og at disse skal anvendes til navngivning af de øvrige ark i samme fil - eller?
Avatar billede scoty Nybegynder
22. januar 2014 - 11:32 #2
Hej supertekst,

Ja, det er alt sammen i samme fil.

De ønskede navne står angivet i bestemte celler i ark X

og jeg ønsker at bruge disse navne til at navngive ark Y,Z, etc..

Med venlig hilsen
Scoty
Avatar billede supertekst Ekspert
22. januar 2014 - 11:41 #3
Hvordan ses sammenhængen mellem et navn i ark X og så det ark, der skal navngives?
Avatar billede scoty Nybegynder
22. januar 2014 - 11:47 #4
Her kommer jeg lidt til kort - er ikke helt sikker på hvad jeg skal svare.


Navnene står i cellerne A1, A7, A13, A19, A25, A31 og O1, O7, O13, O19, 025, 031 og AC1, AC7, AC,13, AC19, AC25, AC31.

Arkenen er allerede oprettet, dog kun med deres stardardnavne altså ark1, ark,2, ark3 etc.

Det jeg ønsker er en kode der kan sørge for at indholdet i celle A1 = navn.ark1 og A7 = navn.ark2 etc.

Men det er vigtigt, hvis indholdet i celle ændres, skal det pågældende arks navn og ændres.

Med venlig hilsen
Scoty
Avatar billede supertekst Ekspert
22. januar 2014 - 13:01 #5
Ok - vender tilbage senere..
Avatar billede supertekst Ekspert
22. januar 2014 - 16:04 #6
Så har jeg en model, som du kan få - hvis du sender en mail.
@-adresse under min profil.
Avatar billede supertekst Ekspert
22. januar 2014 - 18:12 #7
VBA-koden er anbragt under ark X
Const tabelKol = "A,O,AC"
Const tabelRæk = "1,7,13,19,25,31"
Dim antalKol As Integer, antalRæk As Integer
Dim tabelK As Variant, tabelR As Variant
Dim adrTabel As Variant, kolNr, rækNr, arkNr As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
Dim adresse, kol, ræk
Rem Beregn antal elementer i tabeller
    tabelK = Split(tabelKol, ",")
    antalKol = UBound(tabelK)

    tabelR = Split(tabelRæk, ",")
    antalRæk = UBound(tabelR)

    adresse = Target.Address & "$"
    adrTabel = Split(adresse, "$")
    kol = adrTabel(1)
    ræk = adrTabel(2)
   
    kolNr = findKolNr(kol)
    rækNr = findRækNr(ræk)
   
    If kolNr > 0 And rækNr > 0 Then
        ActiveWorkbook.Sheets(1 + (kolNr - 1) * 6 + rækNr).Name = Target
    End If
End Sub
Private Function findKolNr(kol)
Dim x As Integer
    For x = 0 To antalKol
        If kol = tabelK(x) Then
            findKolNr = x + 1
            Exit Function
        End If
    Next x
    findKolNr = 0
End Function
Private Function findRækNr(ræk)
Dim x As Integer
    For x = 0 To antalRæk
        If ræk = tabelR(x) Then
            findRækNr = x + 1
            Exit Function
        End If
    Next x
    findRækNr = 0
End Function
Avatar billede scoty Nybegynder
23. januar 2014 - 08:50 #8
Super det virker - smider du ikke et svar :)
Avatar billede supertekst Ekspert
23. januar 2014 - 08:57 #9
Fint - og et svar
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