Þegar þú skráir aðgerðir þínar skráir Excel venjulega alger tilvísun í frumur. (Þetta er sjálfgefin upptökuhamur.) En oft er þetta rangur upptökuhamur. Ef þú notar algjöra upptökuham, skráir Excel raunverulegar frumutilvísanir. Ef þú notar hlutfallslega upptöku, skráir Excel hlutfallslegar tilvísanir í frumur. Haltu áfram að lesa til að sjá muninn.
Upptaka í algjörum ham
Fylgdu þessum skrefum til að taka upp einfalt fjölvi í algerri stillingu. Þessi fjölvi slær einfaldlega inn þriggja mánaða nöfn í vinnublað:
Gakktu úr skugga um að þróunaraðili → Kóði → Nota hlutfallslegar tilvísanir hnappurinn sé ekki auðkenndur og veldu síðan þróunaraðila → Kóði → Taka upp fjölvi.
Sláðu inn Absolute sem heiti þessa fjölvi.
Smelltu á OK til að hefja upptöku.
Virkjaðu reit B1 og sláðu inn Jan í reitinn.
Farðu í reit C1 og sláðu inn feb.
Farðu í reit D1 og sláðu inn Mar.
Smelltu á reit B1 til að virkja það aftur.
Stöðvaðu macro upptökutækið.
Ýttu á Alt+F11 til að virkja VBE.
Skoðaðu Module1 eininguna.
Excel býr til eftirfarandi kóða:
Sub Absolute()
'
„Algjört fjölva
'
Range(„B1“). Veldu
ActiveCell.FormulaR1C1 = „Jan“
Svið ("C1"). Veldu
ActiveCell.FormulaR1C1 = “feb”
Range(„D1“). Veldu
ActiveCell.FormulaR1C1 = „Mar“
Range(„B1“). Veldu
End Sub
Þegar það er keyrt velur þetta fjölvi reit B1 og setur þriggja mánaða nöfnin inn í bilið B1:D1. Þá endurvirkjar fjölvi frumu B1.
Þessar sömu aðgerðir eiga sér stað óháð því hvaða hólf er virkt þegar þú keyrir fjölva. Fjölvi skráð með því að nota algjörar tilvísanir gefur alltaf sömu niðurstöður þegar það er keyrt. Í þessu tilviki færir fjölvi alltaf nöfn fyrstu þriggja mánaðanna á bilinu B1:D1 á virka vinnublaðinu.
Upptaka í hlutfallslegum ham
Í sumum tilfellum vilt þú að upptekinn fjölvi þinn virki með staðsetningar frumna á afstæðan hátt. Þú gætir viljað að fjölvi byrji að slá inn mánaðarnöfnin í virka reitnum. Í slíku tilviki þarftu að nota hlutfallslega upptöku.
Þú getur breytt því hvernig Excel skráir aðgerðir þínar með því að smella á Nota hlutfallslegar tilvísanir hnappinn í kóðahópnum á þróunarflipanum. Þessi hnappur er skiptahnappur. Þegar hnappurinn birtist auðkenndur í öðrum lit er upptökuhamurinn afstæður. Þegar hnappurinn birtist venjulega ertu að taka upp í algjörri stillingu.
Þú getur breytt upptökuaðferðinni hvenær sem er, jafnvel í miðri upptöku.
Til að sjá hvernig hlutfallsleg upptaka virkar skaltu eyða innihaldi svæðis B1:D1 og framkvæma síðan eftirfarandi skref:
Virkjaðu frumu B1.
Veldu þróunaraðila → Kóði → Taka upp fjölva.
Nefndu þetta fjölvi hlutfallslegt.
Smelltu á OK til að hefja upptöku.
Smelltu á Nota hlutfallslegar tilvísanir hnappinn til að breyta upptökuhamnum í hlutfallslega.
Þegar þú smellir á þennan hnapp breytist hann í annan lit en restin af borðinu.
Sláðu Jan í reit B1.
Farðu í reit C1 og sláðu inn feb.
Farðu í reit D1 og sláðu inn Mar.
Veldu reit B1.
Stöðvaðu macro upptökutækið.
Taktu eftir að þessi aðferð er aðeins frábrugðin fyrra dæminu. Í þessu dæmi virkjarðu upphafshólfið áður en þú byrjar að taka upp. Þetta er mikilvægt skref þegar þú skráir fjölva sem nota virka reitinn sem grunn.
Þessi fjölvi byrjar alltaf að slá inn texta í virka hólfinu. Reyna það. Færðu reitabendilinn í hvaða reit sem er og keyrðu síðan hlutfallslega fjölvi. Mánaðarnöfnin eru alltaf færð inn í virka reitnum.
Þegar upptökuhamurinn er stilltur á hlutfallslega er kóðinn sem Excel býr til töluvert frábrugðinn kóðanum sem myndaður er í algerri stillingu:
Undirskylda()
'
'Hlutfallslegt fjölva
'
ActiveCell.FormulaR1C1 = „Jan“
ActiveCell.Offset(0, 1).Range(“A1”).Veldu
ActiveCell.FormulaR1C1 = “feb”
ActiveCell.Offset(0, 1).Range(“A1”).Veldu
ActiveCell.FormulaR1C1 = „Mar“
ActiveCell.Offset(0, -2).Range(“A1”).Veldu
End Sub
Til að prófa þetta fjölvi skaltu virkja hvaða reit sem er nema B1. Mánaðarnöfnin eru færð inn í þrjá hólfa, sem byrjar á hólfinu sem þú virkjaðir.
Taktu eftir að kóðinn sem myndaður er af makróritara vísar til reits A1. Þetta kann að virðast undarlegt vegna þess að þú notaðir aldrei reit A1 við upptöku á fjölvi. Þetta er einfaldlega fylgifiskur þess hvernig macro upptökutæki virkar.