Avatar billede susanneandersen Nybegynder
22. marts 2009 - 18:27 Der er 7 kommentarer og
1 løsning

overføre fra en celle til en anden

Hej.
Så sidder jeg igen med et "hovedbrud".
Arbejder i Excel 2003 (engelsk)
Jeg har i celle F2 et tal for ugenummer (eks 5)
Jeg har i celle J11 en værdi (eks 45%)
Jeg har i cellerne P2 til BO2 52 ugenumre
I cellerne P3 til BO3 skal jeg nu, alt efter hvad der står i F2 indføre værdien der står i J11.(45% skal føres ind i celle T3)
Håber der er hjælp at hente.
Vh Susanne
Avatar billede jhe-ting Nybegynder
22. marts 2009 - 19:26 #1
Jeg er i tvivl om hvad du mener. Hvilken betingelse skal være opfyldt for at overføre/indføre værdien, og hvordan skal værdien indføres?
Avatar billede susanneandersen Nybegynder
22. marts 2009 - 20:01 #2
Det er lidt svært at forklare yderligere. Prøver........
Jeg har tænkt mig en makro.
Der skal kigges i F2 (ugenummer).
Værdien står i J11

Der skal så findes samme uge nummer i cellerne mellem P2 og BO2 (som i F2).

uge:
5 (F2)

værdi:
45% (J11)

Resultat:
      P2  Q2  R2  S2  T2  U2
(ugenr)1    2    3    4    5    6  ............52
(værdi fra J11)          45%
Værdien i dette tilfælde indsættes fra J11 til T3, da F2 er uge 5
Avatar billede jhe-ting Nybegynder
26. marts 2009 - 01:10 #3
Public Sub xferWeekValue()
    Dim weekIds, weekVals As Range
    Dim choice As Integer
    Set weekIds = Cells.Range("p2", "bo2") ' Det burde være navngivne områder
    Set weekVals = Cells.Range("p3", "bo3") '
    choice = Cells.Range("f2").Value
    For idx = 1 To weekIds.Count
        If weekIds.Cells(idx).Value = choice Then
            weekVals.Cells(idx).Value = Cells.Range("j11").Value
        End If
    Next idx
End Sub
Avatar billede jhe-ting Nybegynder
26. marts 2009 - 01:25 #4
eller bedre

            Cells.Range("j11").Copy weekVals.Cells(idx)

hvor der står

            weekVals.Cells(idx).Value = Cells.Range("j11").Value
Avatar billede susanneandersen Nybegynder
30. marts 2009 - 11:10 #5
Hej.
Nu får jeg ihvertfald kopieret noget ind i den korrekte celle.
Men.......
Den formel der står i J11 (som skal kopieres) hedder:
=SUBTOTAL(9;J15:J1966)/SUBTOTAL(9;I15:I1966)

Resultatet af din makro giver
=SUBTOTAL(9;T7:T1958)/SUBTOTAL(9;S7:S1958)

hmmmm
Avatar billede jhe-ting Nybegynder
30. marts 2009 - 16:48 #6
Ja, når man kopierer en formel, bliver de relative cellereferencer oversat til destinationen.
Hvis en formel skal bruge de samme celler efter kopiering må man bruge absolutte referencer. Prøv evt. denne formel i J11:

=SUBTOTAL(9;$J$15:$J$1966)/SUBTOTAL(9;$I$15:$I$1966)
Avatar billede jhe-ting Nybegynder
30. marts 2009 - 16:50 #7
Hvis det er formlens aktuelle værdi der skal kopieres kan mit første indlæg med 'xferWeekValue()' bruges.
Avatar billede oyejo Nybegynder
30. marts 2009 - 21:57 #8
Kanskje denne lille macro kan hjelpe?

Sub Makro1()

    Range(Cells(3, 15), Cells(3, 15)).Offset _
    (0, Range("F2").Value).Value = Range("J11").Value
   
End Sub
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