ipbr21054
Well-known Member
- Joined
- Nov 16, 2010
- Messages
- 5,738
- Office Version
- 2007
- Platform
- Windows
Morning,
I am using the code shown below so when i open its worksheet it automatically selects the first cell in the last row which has data on.
This has worked good for me but now i wish to alter it & asking for advice please.
Say the last row with data on is Row 400 & currently when i come to this sheet the cell selected is A400
I would now like it to select the ist cell of the row without data on which would be A401
I am using the code shown below so when i open its worksheet it automatically selects the first cell in the last row which has data on.
This has worked good for me but now i wish to alter it & asking for advice please.
Say the last row with data on is Row 400 & currently when i come to this sheet the cell selected is A400
I would now like it to select the ist cell of the row without data on which would be A401
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myStartCol As String
Dim myEndCol As String
Dim myStartRow As Long
Dim myLastRow As Long
Dim myRange As Range
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
' *** Specify columns to apply this to ***
myStartCol = "A"
myEndCol = "I"
' *** Specify start row ***
myStartRow = 8
' Use first column to find the last row
myLastRow = Cells(Rows.Count, myStartCol).End(xlUp).Row
' Build range to apply this to
Set myRange = Range(Cells(myStartRow, myStartCol), Cells(myLastRow, myEndCol))
' Clear the color of all the cells in range
myRange.Interior.ColorIndex = 6
' Check to see if cell selected is outside of range
If Intersect(Target, myRange) Is Nothing Then Exit Sub
' Highlight the row and column that contain the active cell
Range(Cells(Target.Row, myStartCol), Cells(Target.Row, myEndCol)).Interior.ColorIndex = 8
Target.Interior.Color = vbGreen
Application.ScreenUpdating = True
End Sub