Pole Excel VBA: Co je to, jak používat a typy polí ve VBA

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 jediné 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 jsou označovány jako prvky pole Excel VBA. Jsou souvislé od indexu 0 až po nejvyšší hodnotu indexu.

Tento tutoriál předpokládá, že používáte Microsoft vynikat verze 2013. Poznatky stále platí pro další verze Microsoft Excel také.

Jaké jsou výhody polí?

Následují některé z výhod, které nabízí funkce 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á oddělená umístění pro kategorie studentů, tj. mateřská škola, 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ě stanovený 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.Pro příklad: Dim ArrayMonth(12) As String
  • Dynamický – Tyto typy polí nemají pevně daný předem určený počet prvků, které lze uložit. Ty jsou užitečné při práci s entitami, jejichž počet nelze předem určit.Pro příklad: Dim ArrayMonth() jako varianta

Syntaxe pro deklaraci polí

Statická pole

Syntaxe pro deklaraci Statické pole je následující:

Dim arrayName (n) as datatype

TADY,

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

Dynamická pole

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

Dim arrayName() as datatype
ReDim arrayName(4)

TADY,

Kód Akce
Dim arrayName () datový typ
  1. Deklaruje proměnnou pole nazvanou název_pole bez uvedení počtu prvků
ReDim arrayName(4)
  1. Určuje velikost pole poté, co bylo pole definováno.

Rozměry pole

Pole může být jednorozměrné, dvourozměrné nebo vícerozměrné.

  • Jeden rozměr: V této dimenzi pole používá pouze jeden index. Například určitý počet lidí každého věku.
  • Dva rozměry: V této dimenzi pole používá dva indexy. Například určitý počet studentů v každé třídě. Vyžaduje počet tříd a počet studentů v každé třídě
  • Vícerozměrné: V této dimenzi pole používá více než dva indexy. Například teploty během dne. (30, 40, 20).

Jak používat Array v Excel VBA

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

  • Vytvoř nový Microsoft Excelový sešit a uložte jej jako Excelový sešit s podporou maker (*.xlsm)
  • Přidejte do sešitu příkazové tlačítko
  • Nastavte název a vlastnosti titulku příkazového tlačítka
  • Programování VBA, které naplní list aplikace Excel

Proveďte toto cvičení krok za krokem,

Krok 1 – Vytvořte nový sešit

  1. Otevřená Microsoft vynikat
  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 na list příkazové tlačítko

Použijte Array v Excel VBA

  1. Nastavte vlastnost name na cmdLoadBeverages
  2. Nastavte vlastnost titulek na Načíst nápoje

Vaše GUI by nyní mělo vypadat následovně

Použijte Array v Excel VBA

Krok 3 – Uložte soubor

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

Použijte Array v Excel VBA

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 String
     
    Drinks(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 Drinks. První index pole je 1 a poslední index pole je 4.
Nápoje (1) = „Pepsi“
  • Přiřadí hodnotu Pepsi prvnímu prvku pole. Další 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 do adresy buňky A1. List1 odkazuje na list a Cells(1,1) odkazuje na řádek číslo 1 a sloupec 1 (B)
List1.Cells(2, 1).Value = Nápoje(1)
  • Zapíše hodnotu prvku pole s indexem 1 na řádek číslo dva sloupce 1

Testování naší aplikace

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

Testování aplikace v Excelu VBA

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

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

Testování aplikace v Excelu VBA

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

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

Shrnutí

  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í psaní udržovatelného kódu ve srovnání s deklarováním mnoha proměnných pro data, která spolu logicky souvisí.