Link to home
Start Free TrialLog in
Avatar of Nicole Swisher
Nicole Swisher

asked on

How to combine 2 Private Sub Worksheet_Change(ByVal Target As Range)

These codes don't work when i run them together!!

Private Sub Worksheet_Change(ByVal Target As Range)


    Dim G As Range, H As Range, Inte As Range, r As Range
    Set G = Range("G:G")
    Set Inte = Intersect(G, Target)
    If Inte Is Nothing Then Exit Sub
    Application.EnableEvents = False
        For Each r In Inte
            If r.Offset(0, 1).Value = "" Then
               r.Offset(0, 1).Value = Date
            End If
        Next r
    Application.EnableEvents = True

Exit Sub

Dim rngDest As Range
Set rngDest = Accepted.Range("rngDest")
' Limit the trap area to range of cells in which completed dates are entered as defined above
If Not Intersect(Target, Sheet1.Range("rngTrigger")) Is Nothing Then
' Only trigger if the value entred is a date or is recognizable as a valid date
     If UCase(Target) = "ACCEPTED" Then
'Ensure subsequent deletion of 'moved' row does NOT cause the Change Event to run again and get itself in a loop!
        Application.EnableEvents = False
        Target.EntireRow.Select
        Selection.Cut
        rngDest.Insert Shift:=xlDown
        Selection.Delete
' Reset EnableEvents
        Application.EnableEvents = True
    End If
End If

End Sub
Avatar of Martin Liss
Martin Liss
Flag of United States of America image

What are you trying to do with this line?

Set rngDest = Accepted.Range("rngDest")
Avatar of Nicole Swisher
Nicole Swisher

ASKER

I got the second part of the code to work. The  Set rngdest = Accepted.Range correlates with the worksheet "accepted". I did that for each of the worksheets listed in my document. But what i would like to do is have this code (pasted below) work so that when I add a comment in column g that the date I added the comment to automatically appear in column H.

rivate Sub Worksheet_Change(ByVal Target As Range)


    Dim G As Range, H As Range, Inte As Range, r As Range
    Set G = Range("G:G")
    Set Inte = Intersect(G, Target)
    If Inte Is Nothing Then Exit Sub
    Application.EnableEvents = False
        For Each r In Inte
            If r.Offset(0, 1).Value = "" Then
               r.Offset(0, 1).Value = Date
            End If
        Next r
    Application.EnableEvents = True

Exit Sub


I have uploaded the file for reference. Thanks again for your help!!

@martinliss
There's no file.
I think i got it to work, does the code look correct to you?
ASKER CERTIFIED SOLUTION
Avatar of Martin Liss
Martin Liss
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Awesome thank you the document runs much faster now!!! The sheet 11 module is for the pop up calendar.
The sheet 11 module is for the pop up calendar.
That does not seem to be true.

In any case please don't forget to close this question.
I will then remove it. Thanks again for your help!
You're welcome and I'm glad I was able to help.

If you expand the “Full Biography” section of my profile you'll find links to some articles I've written that may interest you.

Marty - Microsoft MVP 2009 to 2017
              Experts Exchange MVE 2015
              Experts Exchange Top Expert Visual Basic Classic 2012 to 2017