ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Execute vba code on cell exit (https://www.excelbanter.com/excel-discussion-misc-queries/143916-execute-vba-code-cell-exit.html)

Bill (Unique as my name)

Execute vba code on cell exit
 
I came up with this much, but it does nothing. Help me please?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Oldselection As Range
If Oldselection = "Meter Reading" Then
SendKeys "{RIGHT 2}Bill Coyne{RIGHT}FM", True
End If
End Sub

I want to fill in "Bill Coyne" two cells to the right and "FM" three
cells to the right if the cell I exit equals "Meter Reading"

Thank you!


Dave Peterson

Execute vba code on cell exit
 
You mean when you type "meter reading", you want to see Bill Coyne in one cell
and FM in another?

If yes, then maybe use the worksheet_change event instead of the
_selectionchange event.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Cells.Count 1 Then Exit Sub
If Intersect(.Cells, Me.Range("A:A")) Is Nothing Then
Exit Sub
End If

On Error GoTo ErrHandler:

If LCase(.Value) = LCase("Meter Reading") Then
Application.EnableEvents = False
.Offset(0, 2).Value = "Bill Coyne"
.Offset(0, 3).Value = "FM"
End If
End With

ErrHandler:
Application.EnableEvents = True

End Sub

I checked for a change to column A. Change that to what you need.

"Bill (Unique as my name)" wrote:

I came up with this much, but it does nothing. Help me please?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Oldselection As Range
If Oldselection = "Meter Reading" Then
SendKeys "{RIGHT 2}Bill Coyne{RIGHT}FM", True
End If
End Sub

I want to fill in "Bill Coyne" two cells to the right and "FM" three
cells to the right if the cell I exit equals "Meter Reading"

Thank you!


--

Dave Peterson

Bill (Unique as my name)

Execute vba code on cell exit
 
Thanks, Dave. Worked like a jewel. Amazing. Simply amazing.

On May 23, 10:31 pm, Dave Peterson wrote:
You mean when you type "meter reading", you want to see Bill Coyne in one cell
and FM in another?

If yes, then maybe use the worksheet_change event instead of the
_selectionchange event.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Cells.Count 1 Then Exit Sub
If Intersect(.Cells, Me.Range("A:A")) Is Nothing Then
Exit Sub
End If

On Error GoTo ErrHandler:

If LCase(.Value) = LCase("Meter Reading") Then
Application.EnableEvents = False
.Offset(0, 2).Value = "Bill Coyne"
.Offset(0, 3).Value = "FM"
End If
End With

ErrHandler:
Application.EnableEvents = True

End Sub

I checked for a change to column A. Change that to what you need.

"Bill (Unique as my name)" wrote:



I came up with this much, but it does nothing. Help me please?


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Oldselection As Range
If Oldselection = "Meter Reading" Then
SendKeys "{RIGHT 2}Bill Coyne{RIGHT}FM", True
End If
End Sub


I want to fill in "Bill Coyne" two cells to the right and "FM" three
cells to the right if the cell I exit equals "Meter Reading"


Thank you!


--

Dave Peterson





All times are GMT +1. The time now is 08:00 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com