Avatar billede prinsib Seniormester
07. september 2009 - 22:53 Der er 7 kommentarer og
1 løsning

Makro med klik

Hej.
Jeg har "lånt" denne kode herinde en gang, og jeg vil gerne be om hjælp til at lave den om. (eller en ny).
Jeg har brug for en kode som enten henter en udregning i B3 eller B18, og indsætter den (i stedet for farver) når der klikkes i de fire forskellige områder.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("a1:b10,d1:e10,g1:h10,j1:k10")) Is Nothing Then
        If Target.Interior.ColorIndex = 3 Then
            Target.Interior.ColorIndex = 6
        Else
            Target.Interior.ColorIndex = 3
        End If
    End If
End Sub

På forhånd tak.
Ib
Avatar billede jkrons Professor
08. september 2009 - 10:29 #1
Hvornår skal den hente i B3 og hvornår i B18?
Avatar billede prinsib Seniormester
08. september 2009 - 13:28 #2
Hej jkrons.
Hvis der står et resultat i B3 skal den hente det, og hvis der står et resultat i B18 skal den hente det. Der står ikke noget i begge celler samtidig.
Ib
Avatar billede prinsib Seniormester
11. september 2009 - 22:32 #3
Hej jkrons.
Har du brug for en bedre forklaring.
Ib
Avatar billede prinsib Seniormester
14. september 2009 - 10:35 #4
Hej
Der var desværre indsneget sig en fejl i linie 2.
    If Not Intersect(Target, Range("d1:e10,g1:h10,j1:k10,m1:n10")) Is Nothing Then

Sorry.
Jeg har selv forsøgt mig med en kode men den virker ikke.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("d1:e10,g1:h10,j1:k10,m1:n10")) Is Nothing Then
                  Target.Interior.Selection.Copy.Range ("b3")
            Active Range("b3").Paste(Target, Range("d1:e10,g1:h10,j1:k10,m1:n10"))
        Else
                Target.Interior.Selection.Copy.Range ("b8")
            Active Range("b18").Paste(Target, Range("d1:e10,g1:h10,j1:k10"))     
        End If
    End Sub

Er der nogen der kan se hvad der er galt med den.
Ib
Avatar billede prinsib Seniormester
20. september 2009 - 12:02 #5
Hej igen.
Jeg har fundet denne kode herinde lavet af excelent.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 2 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, -1) = Target.Offset(0, -1) + Target.Value
Target = ""
Application.EnableEvents = True
End Sub

Kan den omskrives så den passer til mit spørgsmål?

Klikker jeg på en celle i D1:E20, skal den kopiere det tal som står i celle B3 eller B18 og sætte det ind i den celle der blev klikket på. (Der står ikke noget i celle B3 og B18 samtidig, og tallet bliver stående til jeg resætter det)
Jeg skal derefter også kunne indsætte tallet i områderne G1:H20, J1:K20 og M1:N20. 
På forhånd tak.
Ib
Avatar billede prinsib Seniormester
22. september 2009 - 22:56 #6
Hej jkrons.
Vil du ikke lægge et svar, så jeg kan lukke dette spørgsmål, og oprette et nyt.
Du har jo tros alt reageret på spørgsmålet.
Ib
Avatar billede prinsib Seniormester
26. september 2009 - 12:58 #7
Hej alle sammen.
Hvordan er det jeg selv lukke dette spørgsmål.
Ib
Avatar billede prinsib Seniormester
26. september 2009 - 20:16 #8
hej Alle.
Fandt selv ud af det.
Ib
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