Pole Excel VBA: Co je, jak používat & Typy polí ve VBA

Obsah:

Anonim

Co je VBA Array?

Pole je definováno jako paměťové místo schopné uložit více než jednu hodnotu. Všechny hodnoty musí být stejného datového typu. Řekněme, že chcete uložit seznam svých oblíbených nápojů do jedné proměnné, můžete k tomu použít pole VBA.

Pomocí pole můžete odkazovat na související hodnoty pod stejným názvem. K jejich rozlišení můžete použít index nebo dolní index. Jednotlivé hodnoty se označují jako prvky pole Excel VBA. Jsou souvislé od indexu 0 po nejvyšší hodnotu indexu.

V tomto kurzu se předpokládá, že používáte Microsoft Excel verze 2013. Znalosti stále platí i pro další verze aplikace Microsoft Excel.

V tomto výukovém programu pro programování VBA se naučíte-

  • Jaké jsou výhody polí?
  • Typy polí ve VBA
  • Jak používat pole v aplikaci Excel VBA
  • Testování naší aplikace

Jaké jsou výhody polí?

Následuje několik výhod nabízených funkcí pole VBA

  1. Seskupte logicky související data dohromady - řekněme, že chcete uložit seznam studentů. Můžete použít jednu proměnnou pole, která má samostatná umístění pro kategorie studentů, tj. Mateřská zahrada, základní, střední, střední škola atd.
  2. Pole usnadňují psaní udržovatelného kódu. Pro stejná logicky související data umožňuje definovat jednu proměnnou namísto definování více než jedné proměnné.
  3. Lepší výkon - jakmile je pole definováno, je rychlejší načítat, třídit a upravovat data.

Typy polí ve VBA

VBA podporuje dva typy polí, jmenovitě;

  • Statické - Tyto typy polí mají pevný předem určený počet prvků, které lze uložit. Nelze změnit velikost datového typu statického pole. Jsou užitečné, když chcete pracovat se známými entitami, jako je počet dní v týdnu, pohlaví atd.

    Například : Dim ArrayMonth (12) jako řetězec

  • Dynamické - Tyto typy polí nemají pevný předem určený počet prvků, které lze uložit. Jsou užitečné při práci s entitami, u kterých nemůžete předem určit počet.

    Například : Dim ArrayMonth () jako varianta

Syntaxe pro deklaraci polí

Statická pole

Syntaxe pro deklaraci STATICKÝCH polí je následující:

Dim arrayName (n) as datatype

TADY,

Kód Akce
Dim pole Název (n) datový typ
  1. Deklaruje proměnnou pole nazvanou arrayName s velikostí n a datovým typem. Velikost odkazuje na počet prvků, které může pole uložit.

Dynamická pole

Syntaxe pro deklaraci DYNAMICKÝCH polí je následující:

Dim arrayName() as datatypeReDim arrayName(4)

TADY,

Kód Akce
Dim arrayName () datový typ
  1. Deklaruje proměnnou pole nazvanou arrayName bez zadání počtu prvků
ReDim arrayName (4)
  1. Určuje velikost pole po definování pole.

Rozměry pole

Pole může mít jednu dimenzi, dvě dimenze nebo vícerozměrné pole.

  • Jedna dimenze : V této dimenzi používá pole pouze jeden index. Například počet lidí každého věku.
  • Dvě dimenze : V této dimenzi používá pole dva indexy. Například počet studentů v každé třídě. Vyžaduje počet tříd a počet studentů v každé třídě
  • Více dimenzí : V této dimenzi používá pole více než dva indexy. Například teploty během dne. (30, 40, 20).

Jak používat pole v aplikaci Excel VBA

Vytvoříme jednoduchou aplikaci. Tato aplikace naplní list aplikace Excel daty z proměnné pole. V tomto příkladu VBA Array budeme dělat následující věci.

  • Vytvořte nový sešit Microsoft Excel a uložte jej jako sešit Excel podporující makra (* .xlsm)
  • Přidejte do sešitu příkazové tlačítko
  • Nastavte název a titulek vlastnosti příkazového tlačítka
  • Programování VBA, který vyplňuje list aplikace Excel

Nechte toto cvičení krok za krokem,

Krok 1 - Vytvořte nový sešit

  1. Otevřete Microsoft Excel
  2. Uložte nový sešit jako VBA Arrays.xlsm

Krok 2 - Přidejte příkazové tlačítko

Poznámka: Tato část předpokládá, že jste obeznámeni s procesem vytváření rozhraní v aplikaci Excel. Pokud nejste obeznámeni, přečtěte si tutoriál VBA Excel Form Control & ActiveX Control. Ukáže vám, jak vytvořit rozhraní

  1. Přidejte do listu příkazové tlačítko
  1. Nastavte vlastnost name na cmdLoadBeverages
  2. Vlastnost titulek nastavte na Načíst nápoje

Vaše grafické uživatelské rozhraní by nyní mělo být následující

Krok 3 - Uložte soubor

  1. Klikněte na tlačítko Uložit jako
  2. Vyberte sešit Excel podporující makra (* .xlsm), jak je znázorněno na obrázku níže

Krok 4 - Napište kód

Nyní napíšeme kód pro naši aplikaci

  1. Klikněte pravým tlačítkem na tlačítko Načíst nápoje a vyberte zobrazit kód
  2. Přidejte následující kód do události kliknutí cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub

TADY,

Kód

Akce

Tlumené nápoje (1 až 4) jako řetězec

  • Deklaruje proměnnou pole s názvem Nápoje. První index pole je 1 a poslední index pole je 4.

Nápoje (1) = "Pepsi"

  • Přiřadí hodnotu Pepsi prvnímu prvku pole. Druhý podobný kód dělá totéž pro ostatní prvky v poli.

Sheet1.Cells (1, 1) .Value = "Moje oblíbené nápoje."

  • Zapíše hodnotu Moje oblíbené nápoje na adresu buňky A1. List1 odkazuje na list a Buňky (1,1) odkazuje na řádek číslo 1 a sloupec 1 (B)

List 1. Buňky (2, 1). Hodnota = Nápoje (1)

  • Zapíše hodnotu prvku pole s indexem 1 do řádku číslo dva ve sloupci 1

Testování naší aplikace

Vyberte kartu vývojáře a zkontrolujte, zda je tlačítko Režim návrhu „vypnuto“. Indikátor je, že bude mít bílé pozadí a ne barevné (nazelenalé) pozadí. (Viz obrázek níže)

Klikněte na tlačítko Načíst nápoje

Získáte následující výsledky

Stáhněte si Excel obsahující výše uvedený kód

Stáhněte si výše uvedený kód Excel

souhrn

  1. Pole je proměnná schopná uložit více než jednu hodnotu
  2. Excel VBA podporuje statická a dynamická pole
  3. Pole usnadňují zápis udržovatelného kódu ve srovnání s deklarováním mnoha proměnných pro data, která logicky souvisejí.