ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   combine change event codes (https://www.excelbanter.com/excel-programming/381551-combine-change-event-codes.html)

J.W. Aldridge

combine change event codes
 
HI.
I seem to have a problem.........

Anytime I attempt to add an additional (change event) code to a
worksheet, it seems to go haywire.
(Is there somekind of rule that you cant have two separate change
events triggering at the same time?)

So,
Could someone help me to combine the following two event codes?

First one gives me my date and time stamp.
Second one forces upper case on a particular row.

__________________
#1
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit

If Not Intersect(Target, Me.Columns(3)) Is Nothing Then
Me.Range("B" & Target.Row).Value = Time
End If
Me.Range("A" & Target.Row).Value = Date

ws_exit:
Application.EnableEvents = True
On Error GoTo 0
End Sub

__________________________________________________ _
#2
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Error_handler
If Not Intersect(Range("D:D"), Target) Is Nothing Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
End If
End With
End If


Error_handler:
Resume Next
Application.EnableEvents = True


End Sub


Don Guillett

combine change event codes
 
You can only have one of each type event. Either use a different event or
combine. Here is the idea but you need to clean it up some more.

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit

If Not Intersect(Target, Me.Columns(3)) Is Nothing Then
Me.Range("B" & Target.Row).Value = Time
End If
Me.Range("A" & Target.Row).Value = Date

'#2
If Not Intersect(Range("D:D"), Target) Is Nothing Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
End If
End With
End If

ws_exit:
Application.EnableEvents = True
On Error GoTo 0
End Sub

__________________________________________________ _


--
Don Guillett
SalesAid Software

"J.W. Aldridge" wrote in message
oups.com...
HI.
I seem to have a problem.........

Anytime I attempt to add an additional (change event) code to a
worksheet, it seems to go haywire.
(Is there somekind of rule that you cant have two separate change
events triggering at the same time?)

So,
Could someone help me to combine the following two event codes?

First one gives me my date and time stamp.
Second one forces upper case on a particular row.

__________________
#1
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit

If Not Intersect(Target, Me.Columns(3)) Is Nothing Then
Me.Range("B" & Target.Row).Value = Time
End If
Me.Range("A" & Target.Row).Value = Date

ws_exit:
Application.EnableEvents = True
On Error GoTo 0
End Sub

__________________________________________________ _
#2
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Error_handler
If Not Intersect(Range("D:D"), Target) Is Nothing Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
End If
End With
End If


Error_handler:
Resume Next
Application.EnableEvents = True


End Sub




Bob Phillips

combine change event codes
 
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit

Me.Range("A" & Target.Row).Value = Date
If Not Intersect(Target, Me.Columns(3)) Is Nothing Then
Me.Range("B" & Target.Row).Value = Time
ElseIf Not Intersect(Target, Me.Columns(4)) Is Nothing Then
With Target
If Not .HasFormula Then
.Value = UCase(.Value)
End If
End With
End If

ws_exit:
Application.EnableEvents = True
On Error GoTo 0
End Sub


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"J.W. Aldridge" wrote in message
oups.com...
HI.
I seem to have a problem.........

Anytime I attempt to add an additional (change event) code to a
worksheet, it seems to go haywire.
(Is there somekind of rule that you cant have two separate change
events triggering at the same time?)

So,
Could someone help me to combine the following two event codes?

First one gives me my date and time stamp.
Second one forces upper case on a particular row.

__________________
#1
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ws_exit

If Not Intersect(Target, Me.Columns(3)) Is Nothing Then
Me.Range("B" & Target.Row).Value = Time
End If
Me.Range("A" & Target.Row).Value = Date

ws_exit:
Application.EnableEvents = True
On Error GoTo 0
End Sub

__________________________________________________ _
#2
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Error_handler
If Not Intersect(Range("D:D"), Target) Is Nothing Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
End If
End With
End If


Error_handler:
Resume Next
Application.EnableEvents = True


End Sub





All times are GMT +1. The time now is 07:51 PM.

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