Bethiepooh
Board Regular
- Joined
- Jun 7, 2002
- Messages
- 51
I am interested in finding out how I can highlight the row I am currently working in? When I move rows, I want the highlighting to move to the appropriate row. How do you do this?
Option Explicit
'// Placed in the ThisWorkbook Object
Private Sub Workbook_Open()
Application.OnKey "{RIGHT}", "HighlightRight"
Application.OnKey "{LEFT}", "HighlightLeft"
Application.OnKey "{UP}", "HighlightUp"
Application.OnKey "{DOWN}", "HighlightDown"
Application.OnKey "{DEL}", "DisableDelete"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{RIGHT}"
Application.OnKey "{LEFT}"
Application.OnKey "{UP}"
Application.OnKey "{DOWN}"
Application.OnKey "{DEL}"
End Sub
Option Explicit
'/////////////////////////////////
'// Original by NateO for aldo ///
'// 24th Jan 2003 ///
'// Amended by IFM ///
'// 28th Jan 2003 ///
'// Amended by Aldo ///
'//
'/////////////////////////////////
'// Placed in a Std Module
Dim strCol As String
Dim iCol As Integer
Dim dblRow As Double
Sub HighlightRight()
HighLight 0, 1
End Sub
Sub HighlightLeft()
HighLight 0, -1
End Sub
Sub HighlightUp()
HighLight -1, 0, -1
End Sub
Sub HighlightDown()
HighLight 1, 0, 1
End Sub
Sub HighLight(dblxRow As Double, iyCol As Integer, Optional dblZ As Double = 0)
'// Amended to highlight Activecell cross intersection
'// Amended as an Alternative to using Condtional Formats
'// As per Aldo thread;
'// http://216.92.17.166/board/viewtopic.php?topic=19239&forum=2&start=20&22
On Error GoTo NoGo
strCol = Mid(ActiveCell.Offset(dblxRow, iyCol).Address, _
InStr(ActiveCell.Offset(dblxRow, iyCol).Address, "$") + 1, _
InStr(2, ActiveCell.Offset(dblxRow, iyCol).Address, "$") - 2)
iCol = ActiveCell.Column
dblRow = ActiveCell.Row
'// If you don't want screen flicker
Application.ScreenUpdating = False
With Range(strCol & ":" & strCol & "," & dblRow + dblZ & ":" & dblRow + dblZ)
.Select
'// Need to reset here!
Application.ScreenUpdating = True
.Item(dblRow + dblxRow).Activate
End With
NoGo:
End Sub
Sub DisableDelete()
Cells(ActiveCell.Row, ActiveCell.Column).Select
Application.OnKey "{DEL}"
End Sub
Sub ReSet()
Application.OnKey "{RIGHT}"
Application.OnKey "{LEFT}"
Application.OnKey "{UP}"
Application.OnKey "{DOWN}"
End Sub
easybpw said:Ha thats true but....in the box where the code is suppose to be my screen shows a completely white box. There is no code to be found. Unless of course I have no clue what I am doing which is entirely possible.
Bill
Any help will be appreciated.Here's a non-marco approach I got from Yogi,
Highlight your range, and apply this formula under Conditional formatting
=CELL("row")=ROW()
mezr said:Oops! I didn't realize that there were several more pages in this thread.
The method that I am referring to in my comment just above is from the following:Any help will be appreciated.Here's a non-marco approach I got from Yogi,
Highlight your range, and apply this formula under Conditional formatting
=CELL("row")=ROW()
On 2003-01-27 21:47, Ivan F Moala wrote:
Won't that clear the undo history? I'm sorry, but I'm exceptionally mistake prone. I live and die by my undo button.
It's too bad vba has to mess with the undo history, cuz I definitely prefer the single keystroke on the code you suggest.
On the other hand, losing the undo history may not be that significant to others and this is your beast now anwyay. I have gotten what I need out of it. She's all yours now.
Thanks again,
-aldo
You can keep the Undo functionality by changing the code to:
Sub DisableDelete()
Cells(ActiveCell.Row, ActiveCell.Column).Select
Application.OnKey "{DEL}"
SendKeys "{Del}"
End Sub
Also need to add:
Application.OnKey "{DEL}", "DisableDelete"
to the 1st line of the 'HighLight' sub,
- to re-enable the DEL key-trap when a cursor key is pressed
hope this helps....
Phil