Face to face / Online public schedule & onsite training. Restaurant lunch included at STL venues.
From £595 List price £695
This course is aimed at individuals with a basic grounding in Excel VBA and an advanced knowledge of Microsoft Excel, who wish to develop their skills with introduce more sophisticated automation into their workflows.
Attendance of our Microsoft Excel VBA course, or equivalent knowledge.
Including the understanding of the following:
The Excel Object Model
Exploring the Range object in detail
The versatile CurrentRegion object
Working with collections of Workbooks and Worksheets
Arrays
Efficient variable storage with arrays
Array optimisation
Dynamic arrays
The Array function
Triggers and Events
Running macros automatically
Executing macros on a timer
Associating macros with other Workbook events
PivotTables & Charts
Manipulating Charts through VBA
Manipulating PivotTables through VBA
Linking with Office
Connecting to other Office applications
Working with other Office application
Arguably, the most experienced and highest motivated trainers.
Training is held in our modern, comfortable, air-conditioned suites.
Modern-spec IT, fully networked with internet access
A hot lunch is provided at local restaurants near our venues:
Courses start at 9:30am.
Please aim to be with us for 9:15am.
Browse the sample menus and view joining information (how to get to our venues).
Available throughout the day:
Regular breaks throughout the day.
Contains unit objectives, exercises and space to write notes
Available online. 100+ pages with step-by-step instructions
Your questions answered on our support forum.
|
|
Palletforce plc
Senior Business Analyst
A very good course and I found many, very useful tips and tricks as well as the course main content.
Excel VBA Advanced
Equifax
Jennifer Atherton,
Analyst
Happy with the course, I have no improvements.
However, we use quarterly reports which use data to generate charts - could have been useful to work through (although we are self taught on how to do these)
Excel VBA Advanced
Delphi Diesel Systems
Fabio Toyama,
Development Engineer
I'm very satisfied with the course. Just at the right pace and expected level.
The instructor showed great knowledge and experience on the subject.
Excel VBA Advanced
| Next date | Location | Price |
|---|---|---|
| Thu 1 Oct | Limehouse | £595 |
| Wed 21 Oct | Online | £595 |
| Fri 30 Oct | Bloomsbury | £595 |
| Fri 20 Nov | Online | £595 |
| Mon 30 Nov | Limehouse | £595 |
| Mon 21 Dec | Online | £595 |
And 25 more dates...
Loading content...

Excellent
HSBC
Project Manager
Alexander Orlov
"I was looking for a specific training for my data analytical team to equip them with more tools to slice and dice the data, building more trust worthy sophisticated propensity models, using SQL, VBA and Excel. I came across with STL training and my research and expectations were match by 100%. Spot on! Great professionals! Highly recommended for all banking and financial professionals that are using Excel on BAU basis."
Tutorials and discussions on MS Office
MS Office tips to save you time
MS Office shortcut keys for all versions
Handy info on industry trends
Latest news & offers
Loading content...
Below are some extracts from our Excel training manuals.
The Excel Object Model is a hierarchical structure of objects that you can use to interact with Excel. At the top is the Application object, representing the entire Excel application. Below it, you have objects like Workbooks, Worksheets, Ranges, and many others.
The Range object is one of the most commonly used objects in Excel VBA. It represents a cell, a row, a column, or a selection of cells containing one or more contiguous blocks of cells. Here are some key properties and methods:
Properties:
.Value: Gets or sets the value of the range.
.Address: Returns the address of the range.
.Rows and .Columns: Return the rows and columns within the range.
Methods:
.Select: Selects the range.
.Copy and .PasteSpecial: Copy and paste the range.
.Clear: Clears the contents of the range.
Example:
Sub ExampleRange()
Dim rng As Range
Set rng = ThisWorkbook.Sheets('Sheet1').Range('A1:B2')
rng.Value = 'Hello, World!'
End Sub
Events in VBA are actions that occur in Excel, which can trigger the execution of a macro. For example, opening a workbook, changing a cell, or clicking a button are all events. You can write VBA code to respond to these events.
Running Macros Automatically
To run macros automatically, you can use workbook or worksheet events. Here are a few examples:
Workbook_Open Event: This event triggers when the workbook is opened.
Private Sub Workbook_Open()
MsgBox 'Welcome to the workbook!'
End Sub
Place this code in the ThisWorkbook module. When the workbook opens, a message box will appear.
Worksheet_Change Event: This event triggers when a cell value changes.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then
MsgBox 'Cell A1 has changed!'
End If
End Sub
Place this code in the worksheet module. When the value in cell A1 changes, a message box will appear.
Creating a PivotTable:
Here’s a simple example of how to create a PivotTable from a data range in your active worksheet:
Sub CreatePivotTable()
Dim sht As Worksheet
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim SrcData As String
Dim StartPvt As String
' Define the data range
SrcData = ActiveSheet.Name & '!A1:D100'
' Create a new worksheet
Set sht = Sheets.Add
' Define where the PivotTable will start
StartPvt = sht.Name & '!A3'
' Create Pivot Cache from Source Data
Set pvtCache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=SrcData)
' Create PivotTable from Pivot Cache
Set pvt = pvtCache.CreatePivotTable(TableDestination:=StartPvt, TableName:='PivotTable1')
End Sub
Adding Fields to a PivotTable:
Once you have created a PivotTable, you can add fields to it:
Sub AddPivotFields()
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables('PivotTable1')
' Add fields to the PivotTable
With pvt
.PivotFields('Year').Orientation = xlPageField
.PivotFields('Month').Orientation = xlColumnField
.PivotFields('Account').Orientation = xlRowField
.PivotFields('Amount').Orientation = xlDataField
End With
End Sub
You can use similar methods to work with other Office applications.
For example, you can automate Word to create documents, format text, and more.
Example: Creating a Word Document
Early Binding:
Open the VBA editor (Alt + F11).
Go to Tools -> References.
Check Microsoft Word xx.x Object Library.
Sub CreateWordDocument()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
' Create a new instance of Word
Set WordApp = New Word.Application
WordApp.Visible = True
' Create a new document
Set WordDoc = WordApp.Documents.Add
' Add text
WordDoc.Content.Text = 'Hello from Excel VBA!'
' Clean up
Set WordDoc = Nothing
Set WordApp = Nothing
End Sub
Call for assistance
We will call you back