Suhteellista referenssiä käytettäessä Excel-makroa avulla suhteessa tällä hetkellä aktiivisen solun. Ole siis varovainen aktiivisen solun valinnassa – sekä tallentaessasi suhteellista viitemakroa että kun suoritat sen.
Avaa ensin mallitiedosto.xlsx, joka on saatavilla verkossa . Tallenna sitten suhteellinen viitemakro seuraavasti:
Valitse Kehittäjä-välilehdeltä Käytä suhteellisia viittauksia -vaihtoehto.
Makron tallentaminen suhteellisilla viittauksilla.
Varmista, että solu A1 on valittuna.
Valitse Kehittäjä-välilehdeltä Tallenna makro.
Nimeä makro AddTotalRelative.
Valitse tallennuspaikaksi tämä työkirja.
Aloita tallennus napsauttamalla OK.
Valitse solu A16 ja kirjoita soluun Yhteensä.
Valitse ensimmäinen tyhjä solu sarakkeesta D (D16) ja kirjoita = COUNTA(D2:D15).
Lopeta makron tallennus napsauttamalla Kehittäjä-välilehdellä Lopeta tallennus.
Tässä vaiheessa olet tallentanut kaksi makroa. Käytä hetki tutkiaksesi juuri luomasi makrosi koodia valitsemalla Makrot Kehittäjä-välilehdeltä avataksesi Makro-valintaikkunan. Valitse AddTotalRelative-makro ja napsauta Muokkaa.
Jälleen Visual Basic Editor avautuu ja näyttää koodin, joka kirjoitettiin makron tallennuksen yhteydessä. Tällä kertaa koodisi näyttää tältä:
Sub AddTotalRelative()
ActiveCell.Offset(15, 0).Alue("A1").Valitse
ActiveCell.FormulaR1C1 = "Yhteensä"
ActiveCell.Offset(0, 3).Alue("A1").Valitse
ActiveCell.FormulaR1C1 = "=COUNTA(R[-14]C:R[-1]C)"
Lopeta ala
Huomaa ensin, että koodi ei sisällä viittauksia tiettyihin solualueisiin (muihin kuin aloituspisteeseen A1). Huomaa, että tässä makrossa Excel käyttää aktiivisen solun Offset-ominaisuutta. Tämä ominaisuus käskee kohdistinta siirtämään tietyn määrän soluja ylös tai alas ja tietyn määrän soluja vasemmalle tai oikealle.
Tässä tapauksessa Offset-ominaisuuskoodi käskee Exceliä siirtämään 15 riviä alaspäin ja 0 saraketta aktiivisen solun (A1) poikki. Koska makro on tallennettu suhteellista viittausta käyttäen, Excel ei valitse nimenomaisesti tiettyä solua, kuten se teki tallennettaessa absoluuttista viitemakroa.
Jos haluat nähdä tämän makron toiminnassa, poista yhteensä rivi molemmista taulukoista ja toimi seuraavasti:
Valitse solu A1.
Valitse Kehittäjä-välilehdeltä Makrot.
Etsi ja valitse AddTotalRelative-makro.
Napsauta Suorita-painiketta.
Valitse solu F1.
Valitse Kehittäjä-välilehdeltä Makrot.
Etsi ja valitse AddTotalRelative-makro.
Napsauta Suorita-painiketta.
Huomaa, että tämä makro, toisin kuin edellinen makrosi, toimii molemmissa tietosarjoissa. Koska makro käyttää summia suhteessa tällä hetkellä aktiiviseen soluun, kokonaissummat käytetään oikein.
Jotta tämä makro toimisi, sinun on yksinkertaisesti varmistettava, että se
-
Olet valinnut oikean aloitussolun ennen makron suorittamista.
-
Tietolohkossa on sama määrä rivejä ja sarakkeita kuin tiedoissa, joihin makro on tallennettu.