Avatar billede mile Juniormester
07. november 2003 - 09:10 Der er 9 kommentarer og
1 løsning

Transponer med absolutte referencer på relative referencer

Hej

Jeg har et område bestående af relative referencer. Dette område vil jeg gerne have transponeret, så det står nedad i stedet for henad.

Men da det er relative referencer, så ændrer formlerne sig ved transponering.

Kan der laves kode der ændrer alle relative referencer i et område til absolutte ? eller findes der en indbygget måde at gøre det på, for det er lidt meget at skulle ind på hver enkelt celle for at klikke på F4.

Er der nogen der er friske ??
Avatar billede b_hansen Novice
07. november 2003 - 09:15 #1
Hvis dine referencer ligner hinanden, kan du lave en "søg og erstat". Indsæt et dollartegn i dine referencer foran henholdsvis række og kolonne. Et eksempel: $A$1

Hvis alle dine referencer eksempelvis relaterer sig til kolonne A, kan du erstatte A med $A$
Avatar billede stewen Praktikant
07. november 2003 - 09:21 #2
Søg og erstat er en løsning! Er der rigtig rigtig mange med forskellige referencer - er noget VBA løsningen
Avatar billede aheiss Praktikant
07. november 2003 - 09:27 #3
En løsning kunne være at sætte/slette ' foran celler  :

Select område og kør :
Sub pling()
Application.ScreenUpdating = False
For Each Cell In Selection
Cell.Select
a = Cell.Formula
Cell.Formula = "'" & a
Next Cell
End Sub

Så kopierer du dit område og transponerer m.m.
Derefter selecter du dit nye område og kører :

Sub pling_væk()
Application.ScreenUpdating = False
For Each Cell In Selection
Cell.Select
a = Mid(Cell.Formula, 1, 100)
Cell.Formula = a
Next Cell
End Sub
Avatar billede aheiss Praktikant
07. november 2003 - 09:30 #4
Fo god ordens skyld må
a = Mid(Cell.Formula, 1, 100)
hellere erstattes med
a = Mid(cell.Formula, 1, Len(cell.Formula))
Avatar billede mile Juniormester
07. november 2003 - 09:44 #5
Hej Aheiss

Det ser rigtigt godt ud. Jeg prøver det lige af efter mit møde..
Avatar billede aheiss Praktikant
07. november 2003 - 10:06 #6
Her en forbedret udgave. Marker område og kør makro.

Sub transponer_absolut()
Application.ScreenUpdating = False
On Error GoTo slut
Dim b As Range
Set b = Selection
Dim ud As Range
Set ud = Range(InputBox("Eksempel:      F7", "Output - startcelle"))
For Each cell In b
cell.Select
c = cell.Formula
cell.Formula = "'" & c
Next cell
b.Copy
ud.Select
    Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
        , Transpose:=True
pling_væk
b.Select
pling_væk
b(1, 1).Select
Application.CutCopyMode = False
slut:
End Sub
Sub pling_væk()
For Each cell In Selection
cell.Select
a = Mid(cell.Formula, 1, 100)
cell.Formula = a
Next cell
End Sub
Avatar billede aheiss Praktikant
07. november 2003 - 10:07 #7
igen !!
a = Mid(Cell.Formula, 1, 100)  = 
a = Mid(cell.Formula, 1, Len(cell.Formula))
Avatar billede mile Juniormester
07. november 2003 - 11:14 #8
Det virker kanon - tak for hjælpen Aheis. Lægger du lige et svar så du kan få nogle velfortjente points ?
Avatar billede aheiss Praktikant
07. november 2003 - 11:15 #9
Godt du kan bruge det - og her et svar :-)
Avatar billede mile Juniormester
07. november 2003 - 11:44 #10
Det er da en god kode - tak for hjælpen og god weekend.
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