Documente Academic
Documente Profesional
Documente Cultură
USEFUL PROPERTIES
WORKBOOK
thisWorkbook
WORKSHEET
A Worksheet is a member of a Workbook
Sheet called Sheet1
.Worksheets(2)
ActiveWorksheet
Cell A1
.Range(A1:A5)
.Range(A1:A5).Offset(2)
.Range(A1:A5).Offset(,2)
.Cells(1,1)
Returns Worksheet
.Worksheets(1).Parent
Returns Workbook
.Worksheets(Sheet1)
.Range(A1).Parent
Worksheets(1).Name
Worksheet name
Workbook..Name
Workbook.Path
Application.UserName
OPEN WORKBOOK
Dim wrk As Workbook
Set wrk = Workbooks.Open (C:\docs\book.xlsm)
Do something with workbook
wrk.Worksheets("sheet1").Range("A1") = 55
wrk.Close SaveChanges:=True
DYNAMIC ARRAY
Declare dynamic array
Dim arrMarks() As Long
COLLECTION
Declare and create
Dim coll As New Collection
STATIC\DYNAMIC ARRAY
Add value
arrMarks(0) = 56
arrMarks(5) = 100
Go through all items in array
For i= LBound(arrMarks) To UBound(arrMarks)
Debug.Print arrMarks(i)
Next i
DICTIONARY
Add Project Reference Microsoft Scripting Runtime
2D ARRAY
' Create array
Dim arrMarks(2,4) As Long
' Read values into 2D array from Range
arrMarks= .Range("A1:Z2").Value
Go through all items in 2D array
Dim i As Long, j As Long
For i = LBound(arrMarks) To UBound(arrMarks)
For i = LBound(arrMarks,2) To UBound(arrMarks,2)
Debug.Print arrMarks(i,j)
Next j
Next j
IF THEN STATEMENT
If val = 1 Then
Debug.Print "One"
ElseIf val >= 2 Or val <= 3 Then
Debug.Print "Two or Three"
ElseIf val > 100 Then
Debug.Print "Greater than 100"
Else
Debug.Print "Other"
End If
Returns a string
Public Function CreateString (sFirst As String, sLast As String)
CreateString = sFirst + + sLast
End Sub
EXIT TYPES
Exit Do
Exit a Do Loop
Exit For
Exit Sub
Exit Function
VBA LOOPS
Loop
How it Works
Example
For Next
Do While Loop
Do Loop While
Do Until .. Loop
Do Loop Until
While Wend
For i = 1 to 10
Next i
For Each sheet in .Worksheets
Next sheet
Do While i < 10
Loop
Do
Loop While i < 10
Do Until i >= 10
Loop
Do
Loop Until i >= 10
While i < 10
Wend