Avatar billede mile Juniormester
10. februar 2004 - 12:10 Der er 6 kommentarer og
1 løsning

Kode til absolutte referencer

Hej

Jeg har en xls fil med et hovedark "2004" samt 4 andre ark:

Q1, Q2, Q3, Q4

På de 4 ark har jeg indsat kæder til arket "2004", MEN - det er relative referencer, og mit problem er, at hvis jeg indsætter række i "2004" så afspejles det ikke i de andre ark. Jeg ved selvfølgelig at jeg blot kan lave en absolut reference i alle cellerne for A1 skal ALTID være lig A1 på 2004 osv. MEN, når jeg nu ændrer referencen til eks. 2004!$A$1, så kan jeg jo ikke bruge fyldhåndtaget til det. Er der en funktion der kan løse mit problem, eller kan nogen lave en stump kode, der på det markerede (selection) laver relative referencer om til absolutte ?
Avatar billede s_h_m Nybegynder
10. februar 2004 - 13:21 #1
Ikke nogen elegant løsning, men du kan skrive 2004!$A1 og derefter bruge fyldhåndtaget.
Hvis du derefter har brug for $-tegnet foran rækkenummeret, kan du lave en søg-og-erstat; $A til $A$.
Avatar billede mile Juniormester
10. februar 2004 - 13:35 #2
Tja det lyder da bedre end at skulle gøre det én for én. Jeg prøver det lige af...
Avatar billede janvogt Praktikant
10. februar 2004 - 13:38 #3
Fandt denne kode på nettet til af skifte mellem absolut, relativ eller mix adresser.

Sub MakeAbsoluteorRelative()
'Written by OzGrid Business Applications
'www.ozgrid.com

Dim RdoRange As Range
Dim i As Integer
Dim Reply As String

'Ask whether Relative or Absolute
Reply = InputBox("Change formulas to?" & Chr(13) & Chr(13) _
& "Relative row/Absolute column = 1" & Chr(13) _
& "Absolute row/Relative column = 2" & Chr(13) _
& "Absolute all = 3" & Chr(13) _
& "Relative all = 4", "OzGrid Business Applications")

  'They cancelled
  If Reply = "" Then Exit Sub
 
    On Error Resume Next
    'Set Range variable to formula cells only
    Set RdoRange = Selection.SpecialCells(Type:=xlFormulas)

            'determine the change type
    Select Case Reply
    Case 1 'Relative row/Absolute column
     
        For i = 1 To RdoRange.Areas.Count
            RdoRange.Areas(i).Formula = _
            Application.ConvertFormula _
            (Formula:=RdoRange.Areas(i).Formula, _
            FromReferenceStyle:=xlA1, _
            ToReferenceStyle:=xlA1, ToAbsolute:=xlRelRowAbsColumn)
        Next i
     
    Case 2 'Absolute row/Relative column
       
        For i = 1 To RdoRange.Areas.Count
            RdoRange.Areas(i).Formula = _
            Application.ConvertFormula _
            (Formula:=RdoRange.Areas(i).Formula, _
            FromReferenceStyle:=xlA1, _
            ToReferenceStyle:=xlA1, ToAbsolute:=xlAbsRowRelColumn)
        Next i
     
    Case 3 'Absolute all
       
        For i = 1 To RdoRange.Areas.Count
            RdoRange.Areas(i).Formula = _
            Application.ConvertFormula _
            (Formula:=RdoRange.Areas(i).Formula, _
            FromReferenceStyle:=xlA1, _
            ToReferenceStyle:=xlA1, ToAbsolute:=xlAbsolute)
        Next i
     
      Case 4 'Relative all
   
        For i = 1 To RdoRange.Areas.Count
            RdoRange.Areas(i).Formula = _
            Application.ConvertFormula _
            (Formula:=RdoRange.Areas(i).Formula, _
            FromReferenceStyle:=xlA1, _
            ToReferenceStyle:=xlA1, ToAbsolute:=xlRelative)
        Next i
       
     
    Case Else 'Typo
        MsgBox "Change type not recognised!", vbCritical, _
        "OzGrid Business Applications"
End Select

    'Clear memory
    Set RdoRange = Nothing
End Sub
Avatar billede mile Juniormester
10. februar 2004 - 13:45 #4
Nej hvor dejligt, den prøver jeg lige først - den ser i hvert fald smart ud. Det er snart længe siden - Har du det godt ?
Avatar billede janvogt Praktikant
10. februar 2004 - 13:56 #5
Jo tak Mile, det går såmænd meget godt, selvom jeg først skal på skiferie senere.
Men bare jeg kan sidde og lege med mine Excel-ark .......... :-)
Avatar billede janvogt Praktikant
11. februar 2004 - 11:59 #6
Svar
Avatar billede mile Juniormester
11. februar 2004 - 12:50 #7
God ferie....
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