Slik ser det ut nå du registrerer formelen (B2-B1)/(A2-A1) inn i cellen C1:
Range("C1").FormulaR1C1 = "=(R[1]C[-1]-RC[-1])/(R[1]C[-2]-RC[-2])"
Du ser at cellene er her referert relativ til cellen C1. Koden sier:
Vi har utvalgt celle C1 ("Range" er satt til C1).
Formel som er nå definert gjelder cellen i rad 1 og (c)olonne 1,
sett fra cellen som vi har utvalgt, dvs. celle C1.
Selve formelen gjenspeiler det som er registrert; det som er kryptisk er
referansene til cellene. Referansen tin celle B2 fungerer som følger:
Utifra cellen som formelen gjelder, se på cellen som er
i neste rad og samtidig en kolonne til venstre (R[1]C[-1] = som er likebetydende
med B2, sett fra C1).
Referansen til B1 fungerer som følger: Utifra cellen som formelen
gjelder, se på cellen som er i samme rad og samtidig en kolonne til venstre
(RC[-1] = som er likebetydende med B1, sett fra C1; R er det samme som R[0] her;
index 0 skrives tydeligvis ikke).
Kan du se hvordan A1 og A2 er referert til?
Kan du nå ane hvordan Excel klarer å kopiere en slik formel nedover
i en kolonne og gjøre "alt riktig", dvs. oppdatere cellereferansene på
korrekt måte?
Heldigvis er det sjeldent at en formel blir til de grader vanskelig å
lese.
|