Avatar billede roding Novice
16. januar 2011 - 21:42 Der er 2 kommentarer og
1 løsning

Ændring af celle-reference under overførsel fra et ExelArk til et andet.

Ved udskrivning af adresselabels fra Exel på et A4 ark med 2 x 5, i alt 10 labels, skal der være mulighed for at vælge, hvilken af de 10 labels, der skal printes på.

Eksempel:
Data  hentes fra Ark1!A1.
Data fra denne celle skal så med en talkode (1-10) kunne  aktiveres i en af 10 mulige placeinger på Ark 2:
I første kolonne i f.eks. celle A1, A6, A11, A17 eller A23,
eller i anden kolonne i celle B1, B6, B11, B17 eller B23.

Hvordan styres (med en kode 1-10 indtastet i en celle) at referencen , Ark1!A1, anvendes i den ønskede af de 10 mulige celler på Ark2!?

På forhånd tak
Roding
Avatar billede Ialocin Novice
16. januar 2011 - 22:59 #1
Hej roding

Kan nedenstående VBA procedure eventuelt bruges ... Det er lavet
i den engelske udgave af Excel 2003.

Umiddelbart skal du blot ændre: sheet1 og sheet2 til navnene på dine ark1 og ark2 ??

I eksemplet taster jeg tallene 1 - 10 i celle B1 på sheet 1, hvorefter jeg skifter til sheet2, som aktiverer proceduren, som kopierer data fra celle A1 på sheet1 til den respektive celle på sheet2.

VBA procedure, som ligger bag sheet2:

Private Sub Worksheet_Activate()
Dim v As Integer
Dim a As Variant


'værdien fra celle B1 på sheet1
v = Sheet1.Range("B1").Value

'værdien fra celle A1 på sheet1
a = Sheet1.Range("A1").Value


    'vælg værdien v ... fra celle B1 på sheet1
    Select Case v
   
        'værdi 1
        Case 1
       
            Me.Range("A1").Value = a

        'værdi 2
        Case 2
       
            Me.Range("A6").Value = a
           
        Case 3
       
            Me.Range("A11").Value = a
           
        Case 4
       
            Me.Range("A17").Value = a
           
        Case 5
       
            Me.Range("A23").Value = a
           
        Case 6
       
            Me.Range("B1").Value = a


        Case 7
       
            Me.Range("B6").Value = a
           
        Case 8
       
            Me.Range("B11").Value = a
           
        Case 9
       
            Me.Range("B17").Value = a
           
        Case 10
       
            Me.Range("B23").Value = a
           
    End Select
   
   
End Sub


Med venlig hilsen, Nicolai
Avatar billede kabbak Professor
16. januar 2011 - 23:09 #2
Hvis du i I1 på ark2 skriver en værdi , f.eks. 2, vil cellen med formlen vise hvad der står i Ark1!A6

=VÆLG(I1;Ark1!A1;Ark1!A6;Ark1!A11;Ark1!A17;Ark1!A23)
Avatar billede roding Novice
18. januar 2011 - 12:18 #3
Hej kabbak.

Jeg tror det var løsningen med den CHOOSE funktion. Arbejder videre med den, da en markoløsning ser helt uuoverskuelig ud, når der skal flyttes rundt på 50 adresseliner.

Tak for hjælpen
Roding
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