Breytur spila stóran þátt í flestum Excel fjölvi sem þú lendir í. Þú getur hugsað um breytur sem minnisílát sem þú getur notað í aðferðum þínum. Það eru mismunandi gerðir af breytum sem hver um sig hefur það verkefni að geyma ákveðna tegund gagna.
Eftirfarandi eru nokkrar af algengum gerðum breyta sem þú munt sjá:
-
Strengur: Geymir textagögn
-
Heiltala: Geymir tölulegar upplýsingar á bilinu –32.768 til 32.767
-
Langt: Geymir tölulegar upplýsingar á bilinu –2.147.483.648 til 2.147.483.647
-
Tvöfaldur: Geymir tölulegar fljótandi punktagögn
-
Afbrigði: Geymir hvers kyns gögn
-
Boolean: Geymir tvöfalda gögn sem skila True eða False
-
Object: Geymir hlut úr Excel Object líkaninu
Þegar þú býrð til breytu í fjölvi ertu að lýsa yfir breytu . Þú gerir það með því að slá inn Dim (skammstöfun fyrir vídd), síðan nafn breytunnar þinnar og svo tegund. Til dæmis:
Dimma MyText sem strengur
Dimma MyNumber sem heiltala
Dimma MyWorksheet sem vinnublað
Eftir að þú hefur búið til breytuna þína geturðu fyllt hana með gögnum. Hér eru nokkur einföld dæmi um hvernig þú gætir búið til breytu og úthlutað henni síðan gildum:
Dimma MyText sem strengur
MyText = Range("A1").Value
Dimma MyNumber sem heiltala
MyNumber = Range("B1"). Gildi * 25
Dimma MyObject sem vinnublað
Setja MyWorksheet = Sheets("Sheet1")
Gildin sem þú gefur breytunum þínum koma oft frá gögnum sem eru geymd í frumunum þínum. Hins vegar geta gildin einnig verið upplýsingar sem þú býrð til. Það veltur allt á verkefninu. Þessi hugmynd verður skýrari þegar þú ferð í gegnum fjölvi í þessari bók.
Þó að það sé hægt að búa til kóða sem notar ekki breytur muntu hitta mörg dæmi um VBA kóða þar sem breytur eru notaðar. Það eru tvær meginástæður fyrir þessu.
Í fyrsta lagi veit Excel ekki í eðli sínu til hvers gögnin þín eru notuð. Það sér ekki tölustafi, tákn eða stafi. Það sér aðeins gögn. Þegar þú lýsir yfir breytum með ákveðnum gagnategundum hjálpar þú Excel að vita hvernig það ætti að meðhöndla ákveðin gögn svo að fjölvi þín skili þeim árangri sem þú gætir búist við.
Í öðru lagi hjálpa breytur með því að gera kóðann þinn skilvirkari og auðveldari að skilja. Segjum til dæmis að þú sért með tölu í reit A1 sem þú ert að vísa í ítrekað til í fjölvi þínu. Þú gætir sótt það númer með því að benda á reit A1 í hvert skipti sem þú þarft það:
Sub Macro1()
Range("B1").Value = Range("A1").Value * 5
Range("C1").Value = Range("A1").Value * 10
Range("D1").Value = Range("A1").Value * 15
End Sub
Hins vegar myndi þetta fjölvi neyða Excel til að sóa lotum með því að geyma sama númerið í minni í hvert skipti sem þú bendir á reit A1. Einnig, ef þú þarft að breyta vinnubókinni þinni þannig að marknúmerið sé ekki í reit A1, heldur í, segjum, reit A2, þá þarftu að breyta kóðanum þínum með því að breyta öllum tilvísunum úr A1 í A2.
Betri leið er að geyma númerið í reit A1 bara einu sinni. Til dæmis geturðu geymt gildið í reit A1 í heiltölubreytu sem kallast myValue:
Sub WithVariable()
Dimma myValue As Heiltala
mittValue = Range("A1").Value
Range("C3").Value = myValue * 5
Range("D5").Value = myValue * 10
Range("E7").Value = myValue * 15
End Sub
Þessi nálgun bætir ekki aðeins skilvirkni kóðans þíns (að tryggja að Excel lesi númerið í reit A1 bara einu sinni) heldur tryggir einnig að þú þurfir aðeins að breyta einni línu ef hönnun vinnubókarinnar þinnar breytist.