Avatar billede CJU Nybegynder
13. august 2012 - 15:18 Der er 8 kommentarer og
1 løsning

Lodrette celler er lig vandrette celler

Hej,

Hvordan får jeg lavet en funktion der gør således.


Eksempel:

D1 = A1
D2 = B1
D3 = C1

Det er til en stor matrix, så ville være fint hvis jeg kan bruge autohandle.

Pft.
Hilsen Christian
Avatar billede Mads Larsen Nybegynder
13. august 2012 - 15:29 #1
Her er en idé til hvordan det kan gøres via VBA.

Sub Lodret()
Kolonne = 1
Række = 2
SvarKolonne = 5

Do Until Len(Cells(1, Kolonne).Text) = 0
    Cells(Række, SvarKolonne) = Cells(1, Kolonne).Value
    Kolonne = Kolonne + 1
    Række = Række + 1
Loop
End Sub
Avatar billede Mads Larsen Nybegynder
13. august 2012 - 15:34 #2
Her er lige så den linker til cellen istedet

Sub Lodret()
Kolonne = 1
Række = 2
SvarKolonne = 5

Do Until Len(Cells(1, Kolonne).Text) = 0
    Cells(Række, SvarKolonne).Formula = "=" & Cells(1, Kolonne).Address
    Kolonne = Kolonne + 1
    Række = Række + 1
Loop
End Sub
Avatar billede jens48 Ekspert
13. august 2012 - 23:14 #3
Hvis du vil lave det uden VBA kan denne formel klare det:

=INDIRECT(IF(ROW()>26;CHAR(INT(ROW()/26)+64)&CHAR((ROW()/26-INT(ROW()/26))*26+64);CHAR(ROW()+64))&1)

Der er en begrænsning: der må højst være 2 bogstaver i kolonnenavnet (altså ikke større end ZZ). Hvis der kun er et bogstav i kolonnenavnet et formelen noget simplere:

=INDIRECT(CHAR(ROW()+64)&1)
Avatar billede CJU Nybegynder
16. august 2012 - 14:55 #4
Til IT-Guffe,

Jeg beklager at jeg ikke fik skrevet at jeg foretrækker at lave det VBA.

Jens48, Dit forslag virker fint hvis jeg indsætter det i et lille test ark. Men ikke i min store matrix.
Hvad betyder tallene 26 og 64?

Min matrix er fra H82 til BP140
Avatar billede jens48 Ekspert
16. august 2012 - 18:42 #5
26 er antallet af karakterer i alfabetet (det engelske, som også bruges til at navngive kolonnerne) og 64 er tilføjet rækketallet for at få det til at give det rette bogstav (=CHAR(65) giver "A". Der bruges ASCII karakterer)
Avatar billede CJU Nybegynder
17. august 2012 - 14:49 #6
Jeg kan desværre ikke få det til at virke.

Må jeg maile dig mit ark så du kan indsætte din formel i en af cellerne.
Avatar billede jens48 Ekspert
17. august 2012 - 18:50 #7
Ja, send det til kober(snabela)mail.dk
Avatar billede jens48 Ekspert
23. august 2012 - 23:25 #8
Formelen blev en anelse mere kompliceret, men da du har meddelt at det virker, som det skal er her et svar.

=INDIRECT((IF(ROW()>26;CHAR(INT(ROW()/26)+64-IF(ROW()/26=INT(ROW()/26);1;))&CHAR((ROW()/26-INT(ROW()/26))*26+64+IF(ROW()/26=INT(ROW()/26);26;))&COLUMN();CHAR(ROW()+64)&COLUMN())))
Avatar billede jens48 Ekspert
23. august 2012 - 23:47 #9
Det kan laves en del enklere, hvis R1C1 reference stil bruges. Så ser formelen således ud:

=INDIRECT("R"&COLUMN()&"C"&ROW();FALSE)
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