0% found this document useful (0 votes)
549 views

Vba Cheat Sheet Arrays

VBA arrays, collections, and dictionaries allow storing and accessing multiple values. Arrays can be static or dynamic, with static declaring a fixed size and dynamic allowing resizing. Collections store objects and can be accessed like arrays. Dictionaries use keys to associate values, allowing fast lookup. Both collections and dictionaries allow iterating through stored values using For Each loops.

Uploaded by

chin_kb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
549 views

Vba Cheat Sheet Arrays

VBA arrays, collections, and dictionaries allow storing and accessing multiple values. Arrays can be static or dynamic, with static declaring a fixed size and dynamic allowing resizing. Collections store objects and can be accessed like arrays. Dictionaries use keys to associate values, allowing fast lookup. Both collections and dictionaries allow iterating through stored values using For Each loops.

Uploaded by

chin_kb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

VBA Arrays, Collections and Dictionaries

STATIC ARRAY COLLECTION


Declare Dim arr(0 To 5) As Long Declare and create Dim coll As New Collection
Dim arr( 5) As Long

Reset all values Erase arr Declare and create in two Dim coll As Collection
steps Set coll = New Collection

DYNAMIC ARRAY
Declare Dim arr() As Long Add item coll.Add “Apple”
coll.Add 55
Set size ReDim arr(1 To 10)
Increase size of existing array ReDim Preserve arr(1 To 10)
Access item Range(“A1”) = coll(1)
Set size to zero Erase arr
Remove item at index two Coll.Remove 2
DYNAMIC AND STATIC ARRAY
Assign a value arr(1) = 56 Go through all items (For) For i = 1 To coll.Count
Debug.Print coll(i)
Go through all items(For) For i = LBound(arr) To UBound(arr) Next i
Debug.Print arr(i)
Next i Go through all items(For For Each v In coll
Each) Debug.Print v
Go through all items(For For Each v In arr
Next v
Each) Debug.Print v
Next v
DICTIONARY
ARRAYS AND RANGES Early binding reference “Microsoft Scripting Runtime”
(Add using Tools->References)
Create variant array Dim arr() As Variant
Declare(early binding) Dim dict As Scripting.Dictionary
Read cell values to array arr = Range("A1:Z2").Value
Create(early binding) Set dict = New Scripting.Dictionary
Write array values to Range Range("A3:Z4").Value = arr
Declare(late binding) Dim dict As Object

ARRAYS AND SUBS/FUNCTIONS Create(late binding) Set dict =


CreateObject("Scripting.Dictionary")
Use array parameter Sub UseArray(ByRef arr()) As Long)
Add item. Key must not dict.Add <key>,<value>
Pass to procedure Dim arr(0 To 2) As Long already exist. dict.Add “Apples”,50
UseArray arr
Use as return value Function GetArray() As Long() Silent Add. Updates dict(<key>)= value
Dim arr(0 To 2) As Long value if key exists. dict(“Orange”) = 67
GetArray = arr
End Sub Access item value = dict(”Apple”)
Return from procedure Dim arr() As Long
arr = GetArray
Check if item exists If dict.Exists(”Apple”) Then

TWO DIMENSIONAL ARRAY


Remove item dict.Remove ”Apple”
Create Dim arr(0 To 2,0 To 4) As Long
Assign value arr(0,0) = 45 Remove all items dict.RemoveAll
arr(2,4) = 67
Go through all items Dim key As Variant
For Each key In dict.Keys
Read through array Dim i As Long, j as Long
Debug.Print key, dict(key)
For i = LBound(arr) To UBound(arr)
Next
For j = LBound(arr, 2) To UBound(arr, 2)
Debug.Print arr(i, j) Number of items dict.Count
Next j
Make key non case dict.CompareMode = TextCompare
Next i
sensitive. Dictionary
must be empty.
ExcelMacroMastery.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy