This article was previously published under Q141692
Using Microsoft Visual Basic for Applications code, you can return the value of the last cell on any given sheet.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. The following example retrieves data from the last cell on the worksheet, assigns it to a variable, and displays the variable in a message box. To use this macro, follow these steps:
Open a new workbook and type the following macro code on a module sheet:
Sub Get_Last_Cell_Value() ' Dimension the variable. Dim LastCellValue As Variant ' Set the value of the last cell to the variable. LastCellValue = ActiveCell.SpecialCells(xlLastCell).Value ' Display the variable in a message box. MsgBox LastCellValue End Sub Sub Get_Last_Cell_Address() Dim LastCellAddress As String ' Return the address of the last cell to the variable. LastCellAddress = ActiveCell.SpecialCells(xlLastCell).Address ' Display the variable in a message box. MsgBox LastCellAddress End Sub
On a blank worksheet in the workbook, type 1000 in cell Z100.
Select the sheet that has the value in cell Z100.
Run the Get_Last_Cell_Value macro.
When you run the Get_Last_Cell_Value macro and a blank or incorrect value is displayed in the message box, run the Get_Last_Cell_Address macro to find out the address of the last cell. If the cell address is incorrect, see the following article in the Microsoft Knowledge Base to resolve the problem.