+ Reply to Thread
Results 1 to 7 of 7

When I change a cell a macro will autorun BUT..

  1. #1
    Registered User
    Join Date
    03-23-2006
    Location
    Malaysia
    Posts
    47

    Question When I change a cell a macro will autorun BUT..

    I initially posted a thread on "How do get a macro to autorun when i change a cell in the spreadsheet?"

    Ok, here come the problem now, I replicated this worksheet in the same workbook to do another analysis. Now i have 2 worksheets namely CountryA and CountryB (Copied via using create copy of worksheet).

    So when I change the cell in CountryA, the macro is also running CountryB. The Cell which I change is actually a Validation list of "Purchase" and "Sales". I change it let's say from Purchase to Sales. It goes to the CountryB worksheet and runs the macro???

    Why is this Private Sub Worksheet_Change(ByVal Target As Range) also performing the macro on CountryB worksheet?

    How can make sure that it is only running for CountryA when I change the cell in this worksheet?

    Is it something wrong i did?

    Please help... and Thanks in advance

    Below was the reply that i have got previously

    PHP Code: 
     Question Let say Cell "A1" has only 2 values that is Purchase or Sales.
    Now when i change this cell to either valuei want it to run a macro
    e
    .gWhen i change Cell to "Purchase" i want to autorun Macro A and When i change Cell to "Sales" i want to autorun Macro BHow do do this? And it is for a particular worksheet only.

    [
    B]Jim Thomlinson [/B]
    Right click the tab of the sheet containing the ceel with purchase and sale
    in Cell A1 then select view code
    ... Paste the following.

    Private 
    Sub Worksheet_Change(ByVal Target As Range)
    If 
    Target.Address "$A$1" Then
    If Target.Value "Purchase" Then Call Macro1
    If Target.Value "Sales" Then Call Macro2
    End 
    If
    End Sub

    [B]Mudraker[/B]
    You need to use the worksheet change event
    This goes in the module 
    for the particular worksheet that you want to trigger the macro

    Private Sub Worksheet_Change(ByVal Target As Range)
    If 
    Target.Address "$A$2" Then
    Application
    .EnableEvents False
    Select 
    Case Target.Value
    Case "Purchase"
    Call macroA
    Case "Sales"
    Call MacroB
    End Select
    End 
    If
    Application.EnableEvents True
    End Sub 

  2. #2
    Tim Williams
    Guest

    Re: When I change a cell a macro will autorun BUT..

    If the sheetA code changes something on sheetB then that will trigger the
    sheetB code to run.

    Try disabling events before running the sheet code: re-enable at the end

    '***********************
    application.enableevents=false
    'do stuff
    application.enableevents=true
    '***********************

    Tim

    "Infinity" <[email protected]> wrote in
    message news:[email protected]...
    >
    > I initially posted a thread on *"How do get a macro to autorun when i
    > change a cell in the spreadsheet?"*
    >
    > Ok, here come the problem now, I replicated this worksheet in the same
    > workbook to do another analysis. Now i have 2 worksheets namely
    > CountryA and CountryB (Copied via using create copy of worksheet).
    >
    > So when I change the cell in CountryA, the macro is also running
    > CountryB. The Cell which I change is actually a Validation list of
    > "Purchase" and "Sales". I change it let's say from Purchase to Sales.
    > It goes to the CountryB worksheet and runs the macro???
    >
    > Why is this *Private Sub Worksheet_Change(ByVal Target As Range)* also
    > performing the macro on CountryB worksheet?
    >
    > How can make sure that it is only running for CountryA when I change
    > the cell in this worksheet?
    >
    > Is it something wrong i did?
    >
    > Please help... and Thanks in advance
    >
    > Below was the reply that i have got previously
    >
    >
    > PHP code:
    > --------------------
    > Question : Let say Cell "A1" has only 2 values that is Purchase or
    > Sales.
    > Now when i change this cell to either value, i want it to run a macro
    > e.g. When i change Cell to "Purchase" i want to autorun Macro A and When
    > i change Cell to "Sales" i want to autorun Macro B. How do i do this? And
    > it is for a particular worksheet only.
    >
    > JIM THOMLINSON
    > Right click the tab of the sheet containing the ceel with purchase and
    > sale
    > in Cell A1 then select view code... Paste the following.
    >
    > Private Sub Worksheet_Change(ByVal Target As Range)
    > If Target.Address = "$A$1" Then
    > If Target.Value = "Purchase" Then Call Macro1
    > If Target.Value = "Sales" Then Call Macro2
    > End If
    > End Sub
    >
    > MUDRAKER
    > You need to use the worksheet change event
    > This goes in the module for the particular worksheet that you want to
    > trigger the macro
    >
    > Private Sub Worksheet_Change(ByVal Target As Range)
    > If Target.Address = "$A$2" Then
    > Application.EnableEvents = False
    > Select Case Target.Value
    > Case "Purchase"
    > Call macroA
    > Case "Sales"
    > Call MacroB
    > End Select
    > End If
    > Application.EnableEvents = True
    > End Sub
    > --------------------
    >
    >
    > --
    > Infinity
    > ------------------------------------------------------------------------
    > Infinity's Profile:
    > http://www.excelforum.com/member.php...o&userid=32725
    > View this thread: http://www.excelforum.com/showthread...hreadid=527970
    >




  3. #3
    Registered User
    Join Date
    03-23-2006
    Location
    Malaysia
    Posts
    47

    Question

    Sorry, but i still dont understand . I am not very good at macro.

    Would appreciate very much if you could give me an example.

    Thanks... thanks.. thanks...

  4. #4
    Registered User
    Join Date
    03-23-2006
    Location
    Malaysia
    Posts
    47
    WTF??

    Sometimes it is working, sometimes it is not working.... FRUSTRATED

  5. #5
    Tim Williams
    Guest

    Re: When I change a cell a macro will autorun BUT..

    Without knowing the exact code you're using it's difficult to suggest
    anything else.

    The modification to Jim's code:

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
    Application.EnableEvents=false
    If Target.Value = "Purchase" Then Call Macro1
    If Target.Value = "Sales" Then Call Macro2
    Application.EnableEvents=false
    End If
    End Sub


    > WTF??


    >Sometimes it is working, sometimes it is not working....
    > *FRUSTRATED*



    > --
    > Infinity



  6. #6
    Tim Williams
    Guest

    Re: When I change a cell a macro will autorun BUT..

    Typo:

    > If Target.Value = "Purchase" Then Call Macro1
    > If Target.Value = "Sales" Then Call Macro2
    > Application.EnableEvents=True


    --
    Tim Williams
    Palo Alto, CA


    "Tim Williams" <[email protected]> wrote in message
    news:[email protected]...
    > Without knowing the exact code you're using it's difficult to suggest
    > anything else.
    >
    > The modification to Jim's code:
    >
    > Private Sub Worksheet_Change(ByVal Target As Range)
    > If Target.Address = "$A$1" Then
    > Application.EnableEvents=false
    > If Target.Value = "Purchase" Then Call Macro1
    > If Target.Value = "Sales" Then Call Macro2
    > Application.EnableEvents=false
    > End If
    > End Sub
    >
    >
    > > WTF??

    >
    > >Sometimes it is working, sometimes it is not working....
    > > *FRUSTRATED*

    >
    >
    > > --
    > > Infinity

    >




  7. #7
    Registered User
    Join Date
    03-23-2006
    Location
    Malaysia
    Posts
    47
    Thanks.... Will test it out today....

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1