This article was previously published under Q149772
This article has been archived. It is offered "as is" and will no longer be updated.
On Page 625 of the "Microsoft Excel 5 Visual Basic for ApplicationsReference" and in online Help in Microsoft Excel version 5.0, theexample for the SpecialCells method states the following:
This example activates the last cell in the current selection. Selection.SpecialCells(xlLastCell).Activate
This statement is incorrect. When you use the SpecialCells method with thexlLastCell value, it does not activate the last cell of the currentselection; instead, the xlLastCell value always activates the last usedcell on the worksheet. For example, if the cells between A1 and M15 allcontain data, or did at one time, then M15 is the last used cell.
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 is the correct code that will activate the last cell of thecurrent selection. The code assumes that the selection is a contiguousblock of cells.
Sub Activate_Selection_Lastcell() ' Get the number of rows of the selection. RowCount = Selection.Rows.Count ' Get the number of columns of the selection. ColumnCount = Selection.Columns.Count ' Activate the last cell of the selection. Selection.Cells(RowCount, ColumnCount).Activate End Sub
"Microsoft Excel 5.0 Visual Basic for Applications Reference," version 5.0,page 624, "SpecialCells Method"