Sett at jeg har en arbeidsbok med 12 ark, en for hver måned. Jeg vil
således at en celle i arket for mars skal referere til en celle i februar.
Når jeg legger til et nytt ark, april, skal cellenen i april referer til en
celle i mars, etc.
Er en slik formel mulig å lage? (for eksempel '=(Active.sheet-1)!c34' ;-D)
mvh
Thomas
Tusen takk for at du ikke lar meg lese svaret ditt via deja.com. En må
være temmelig paranoid for ikke å kunne la et slikt innlegg arkiveres for
ettertiden.
Dette var uansett ikke det jeg lurte på. Det jeg ønsker er at samme celle
i alle ark skal peke til en celle i forrige ark. Årsaken til at jeg
ønsker dette er at jeg lager et regnskapsskjema som skal kopieres i
separater ark for hver måned. Det hadde vært praktisk å kunne lage dette
en gang, og så kopiere 11 ganger. Å så i etterkant å erstatte alle
arknavn i formlene med aktuell verdi, mye enklere dersom en formel var
relativ.
Thomas
| "Thomas Refsdal" <hef...@start.no> skrev i melding
| news:rn186.1812$wt2....@news1.oke.nextra.no...
| : Kan jeg i en celle skrive en formel som refererer til en celle i et
| :
| :
| :
| :
|
Function SUMWS(Rng As Range, Optional Offset As Integer = 0) As Double
Application.Volatile
SUMWS = Application.WorksheetFunction.Sum(Worksheets(Rng.Worksheet.Index
+ Offset).Range(Rng.Address))
End Function
Funksjonen benyttes i en regnearkcelle som en vanlig sum-funksjon hvor du
kan angi hvilket regneark du ønsker å summere fra slik:
=SUMWS(A1:A100;-1) ' regnearket før det aktive arket, det forrige regnearket
=SUMWS(A1:A100;1) ' regnearket etter det aktive arket, det neste regnearket
=SUMWS(A1:A100;12) ' det 12. regnearket etter det aktive arket
Eller som ditt eksempel:
=SUMWS(C34;-1)
Dersom du ikke er interessert i å summere kan du eventuelt bytte ut med
andre regnearkfunksjoner. Dersom du vil hente formelen i en enkelt celle kan
du benytte denne egendefinerte funksjonen:
Function GETREF(Rng As Range, Optional Offset As Integer = 0) As Variant
Application.Volatile
GETREF = Worksheets(Rng.Worksheet.Index +
Offset).Range(Rng.Address).Cells(1, 1).Formula
End Function
=GETREF(C34;-1) ' returnerer formelen fra C34 i det forrige regnearket
=GETREF(C34;1) ' returnerer formelen fra C34 i det neste regnearket
--
Ole P. Erlandsen
http://www.erlandsendata.no
"Thomas Refsdal" <hef...@start.no> wrote in message
news:rn186.1812$wt2....@news1.oke.nextra.no...