Video: Video: een korte blik op MacTubes 2024
Variabelen spelen een grote rol in de meeste Excel-macro's die u tegenkomt. U kunt variabelen zien als geheugencontainers die u in uw procedures kunt gebruiken. Er zijn verschillende soorten variabelen, elk belast met het houden van een specifiek type gegevens.
Hieronder volgen enkele veel voorkomende soorten variabelen die u zult zien:
-
String: bevat tekstgegevens
-
Integer: bevat numerieke gegevens variërend van -32, 768 tot 32, 767 >
-
bevat numerieke gegevens variërend van -2, 147, 483, 648 tot 2, 147, 483, 647 Dubbel:
-
bevat numerieke gegevens met drijvende komma < Variant: bevat alle soorten gegevens
-
Boolean: bevat binaire gegevens die True of False retourneren
-
Object: bevat een object uit het Excel-objectmodel
-
Wanneer u maakt een variabele in een macro; u declareert een variabele
. U doet dit door Dim (afkorting voor dimensie) in te voeren, vervolgens de naam van uw variabele en vervolgens het type. Bijvoorbeeld:
Dim MyText als tekenreeks MyText = Bereik ("A1"). Waarde Dim MyNumber as Integer MyNumber = Range ("B1"). Waarde * 25 Dim MyObject als werkblad Set MyWorksheet = Sheets ("Sheet1")
De waarden die u aan uw variabelen toewijst, zijn vaak afkomstig van gegevens die in uw cellen zijn opgeslagen. De waarden kunnen echter ook informatie zijn die u maakt. Het hangt allemaal af van de taak die voorhanden is. Dit begrip wordt duidelijker naarmate u de macro's in dit boek doorneemt.
Hoewel het mogelijk is om code te maken die geen variabelen gebruikt, zult u veel voorbeelden van VBA-code tegenkomen waarbij variabelen
zijngebruikt. Daar zijn twee belangrijke redenen voor. Ten eerste weet Excel niet waar uw gegevens voor worden gebruikt. Het ziet geen cijfers, symbolen of letters. Het ziet alleen gegevens. Wanneer u variabelen declareert met specifieke gegevenstypen, helpt u Excel te weten hoe het bepaalde gegevens moet verwerken, zodat uw macro's de resultaten opleveren die u zou verwachten. Ten tweede helpen variabelen door uw code efficiënter en gemakkelijker te begrijpen te maken. Stel dat u een nummer in cel A1 hebt waarnaar u in uw macro herhaaldelijk verwijst. U kunt dat nummer ophalen door naar cel A1 te gaan telkens wanneer u het nodig hebt:
Submacro1 () bereik ("B1"). Waarde = bereik ("A1"). Waarde * 5 Bereik ("C1"). Waarde = bereik ("A1"). Waarde * 10 Bereik ("D1"). Waarde = bereik ("A1").Waarde * 15 Einde sub
Deze macro dwingt Excel echter om cycli met hetzelfde nummer in het geheugen te verspillen telkens wanneer u naar cel A1 wijst. Als u uw werkmap moet wijzigen zodat het doelnummer niet in cel A1 staat, maar in bijvoorbeeld cel A2, moet u uw code bewerken door alle verwijzingen van A1 naar A2 te wijzigen.
Een betere manier is om het nummer een keer in cel A1 op te slaan. U kunt bijvoorbeeld de waarde in cel A1 opslaan in een integer-variabele met de naam myValue:
Sub WithVariable () Dim myValue As Integer myValue = Range ("A1"). Waardebereik ("C3"). Waarde = myValue * 5 Bereik ("D5"). Waarde = myValue * 10 Bereik ("E7"). Value = myValue * 15 End Sub
Deze benadering verbetert niet alleen de efficiëntie van uw code (ervoor zorgen dat Excel het aantal slechts één keer leest in cel A1), maar zorgt er ook voor dat u slechts één regel hoeft te bewerken als het ontwerp van uw werkmap verandert.