0% found this document useful (0 votes)
1K views1 page

Vba Cheat Sheet Vitals

This document provides an overview of working with workbooks, worksheets, ranges, rows, columns, and cells in VBA. It discusses how to access and manipulate workbooks, worksheets, ranges, as well as read and write cell values. Useful properties and methods for ranges are also covered such as Offset, CurrentRegion, Rows, Columns, Copy, and PasteSpecial.

Uploaded by

Sulabh
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)
1K views1 page

Vba Cheat Sheet Vitals

This document provides an overview of working with workbooks, worksheets, ranges, rows, columns, and cells in VBA. It discusses how to access and manipulate workbooks, worksheets, ranges, as well as read and write cell values. Useful properties and methods for ranges are also covered such as Offset, CurrentRegion, Rows, Columns, Copy, and PasteSpecial.

Uploaded by

Sulabh
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 Workbooks, Worksheets and Ranges

ACCESS A WORKBOOK USING CURRENT REGION


The current workbook ThisWorkbook CurrentRegion Gets the entire range of data
The active workbook ActiveWorkbook Cells A1:D5 have Range("A1") .CurrentRegion Or
data. Get entire Range("B2") .CurrentRegion Or
Any open workbook Workbooks("example.xlsx") range Range("D5") .CurrentRegion etc.
Open a workbook Workbooks.Open "C:\docs\book.xlsx"
Using a variable Dim wk As Workbook ROWS AND COLUMNS
Set wk = Workbooks("example.xlsx") Last row Cells(Rows.Count, 1).End(xlUp).row

Last column Cells(1,Columns.Count).End(xlToLeft).Column


ACCESS A WORKSHEET
Cell count Range("A1") .Count
In current workbook ThisWorkbook.Worksheets("name")
Row count Range("A1:D5") .Rows.Count
In current workbook Use the code name e.g. Sheet1
In a given workbook wk.Worksheets("name") Column count Range("A1:D5") .Columns.Count

The active worksheet ActiveSheet Get a row <worksheet>.Rows(3)


Get a column <worksheet>.Columns(2)
Worksheet variable Dim sh As Worksheet
Set sh = wk.Worksheets("name")
READING THROUGH RANGES
USING RANGE Every cell in Dim rg As Range
Access Range <worksheet>.Range range For Each rg In Range("A1:A10")
Debug.Print rg
Read value from cell Total = Range("A1") .Value
Next rg
Write value to cell Range("A1").Value = 5
Read by row Dim row As Range
Assign one cell to another Range("A1").Value = Range("B1") For Each row In Range("A1:A5").Rows
.Value ' Print cell in third column of row
Assign multiple cells Range("A1:C4").Value = Debug.Print row.Cells(1,3)
Range("F1:H4").Value Next row

Read from range to array Dim arr As Variant READING THROUGH OTHER ITEMS
arr = Range("A1:B3").Value All Open workbooks Dim wk As Workbook
Write from array to range Range("A1:B3").Value = arr For Each wk In Workbooks
Debug.Print wk.Name
Assign and transpose Range("E1:H1").Value = Next wk
WorksheetFunction.Transpose
All worksheets in a Set wk = Workbooks("Test.xlsx”)
workbook Dim sh As Worksheet
USING VARIABLES WITH RANGES For Each sh In wk.Worksheets
Debug.Print sh.Name
Row is variable Range("A" & i) Or Cells(i,1)
Next sh
Column is variable Cells(1,i) USEFUL PROPERTIES FOR TESTING
Multiple cells Range("A1:A" & i ) Or Worksheet of a range Range("A1") .Parent
Range(Cells(1,1),Cells(i,1))
Workbook of a worksheet Worksheets(1).Parent
OFFSET PROPERTIES Workbook of a range Range("A1").Parent.Parent
Offset Moves range by rows and colums Workbook name Workbooks(1).Name
Workbook path Workbooks(1).Path
Get cell to right Range("B2").Offset(0,1) ' C2
Workbook path + name Workbooks(1).FullName
Get cell to left Range("B2").Offset(0,-1) ' A2
Current user Application.UserName
Get cell above Range("B2").Offset(-1,0) ' B1
COPYING RANGES
Get cell below Range("B2").Offset(1,0) ' B3 Everything Range("A1:A5").Copy Range("C1:C5")

Multiple cells Range("A1:B2").Offset(3,3) ' D4:E5 Paste Special Range("A1:A5").Copy


Range("C1:C5").PasteSpecial xlPasteFormats
Range("C1:C5").PasteSpecial xlPasteValues
ExcelMacroMastery.com

You might also like