Avatar billede svith1 Nybegynder
22. marts 2006 - 08:21 Der er 10 kommentarer og
1 løsning

Tilføjelse til makro: skiftevis visning af to celler i én celle

A1 indeholder en relativ reference til B1. For hver kørsel af makroen skal visningen i A1 skifte mellem B1 og B2, så de skiftevis bliver vist i A1

Makroen skal køre sammen med nedenstående makro:
Sub Changeref()
Dim r, r2
r = [a2].Formula
r2 = Val(Mid(r, 3, 4)) - 1
[a2].Activate
ActiveCell.FormulaR1C1 = "=R[" & r2 & "]c[2]"
End Sub

Kan det lade sig gøre?
Jeg bruger Excel 2003.
Flemming
Avatar billede supertekst Ekspert
22. marts 2006 - 08:50 #1
Måske:

Sub workbook_activate()
    flag = True
End Sub
Sub Changeref()
Dim r, r2
If flag = True Then
    [a1] = "=R1C2"
    flag = False
Else
    [a1] = "=R2C2"
    flag = True
End If
.......
Avatar billede svith1 Nybegynder
22. marts 2006 - 09:04 #2
Det virker ikke. Måske fordi jeg ikke ved, hvordan den samlede makro skal se ud. Jeg er ren novice.
Avatar billede supertekst Ekspert
22. marts 2006 - 09:42 #3
send en mail til pb@supertekst-it.dk - så kan du få xls.filen
Avatar billede hubertus Seniormester
22. marts 2006 - 10:47 #4
Hej svith1
du kan prøve
Sub Changeref()

Dim r, r2
For i = 1 To 5

If flag = True Then
    [a1] = "=R1C2"
    flag = False
Else
    [a1] = "=R2C2"
    flag = True
End If


r = [a2].Formula
r2 = Val(Mid(r, 3, 4)) - 1
[a2].Activate
ActiveCell.FormulaR1C1 = "=R[" & r2 & "]c[2]"

Next

End Sub

den virker hos mig
Avatar billede hubertus Seniormester
22. marts 2006 - 10:49 #5
5 er blot det antal gange du ønsker gennemløbet af din rutine
Avatar billede supertekst Ekspert
22. marts 2006 - 12:12 #6
Her er så et svar!
Avatar billede excelent Ekspert
22. marts 2006 - 17:02 #7
fik i det til at virke ?
Avatar billede excelent Ekspert
22. marts 2006 - 17:10 #8
Sub Changeref()
Dim r, r2, rr, rr2

rr = [a1].Formula
rr2 = Val(Mid(rr, 3, 4))
[a1].Activate
If rr2 = 1 Then ActiveCell.FormulaR1C1 = "=R[1]c[1]": GoTo ok
If rr2 = 2 Then ActiveCell.FormulaR1C1 = "=R[0]c[1]"

ok:

r = [a2].Formula
r2 = Val(Mid(r, 3, 4)) - 1
[a2].Activate
ActiveCell.FormulaR1C1 = "=R[" & r2 & "]c[2]"
End Sub
Avatar billede supertekst Ekspert
22. marts 2006 - 17:58 #9
Sp.stiller har fået filen og det virker!
Avatar billede excelent Ekspert
22. marts 2006 - 18:31 #10
ok
Avatar billede svith1 Nybegynder
23. marts 2006 - 01:40 #11
Jeg bekræfter. Fin makro, der fungerer efter hensigten.
tak.
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