Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / New Users / July 2007

Tip: Looking for answers? Try searching our database.

excel same value in two cells

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
pls help - 26 Jul 2007 06:40 GMT
How can 2 cells have the same values, such that when I edit either cell the
change is reflected on both?
squenson - 26 Jul 2007 11:45 GMT
It is not possible without using some sophisticated features of event
listening and macros. But one should ask the question: what would be the
benefits? You can refer the second cell from the first one -- something like
A2: =A1, so A1 and A2 will both have the same value and each time you change
A1, A2 will change.

>How can 2 cells have the same values, such that when I edit either cell the
>change is reflected on both?
CLR - 26 Jul 2007 13:18 GMT
This macro will do as you describe.........

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Range("a2").Value = Range("a1").Value
Else
If Target.Address = "$A$2" Then
Range("a1").Value = Range("a2").Value
Else
End If
End If
End Sub

Vaya con Dios,
Chuck, CABGx3

> How can 2 cells have the same values, such that when I edit either cell the
> change is reflected on both?
squenson - 26 Jul 2007 13:45 GMT
On my version of Excel 2003, if I am in A1 and type 444 then press the down
arrow, A1 is being updated with the value from A2...

I would recommend that you replace the first line:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
by:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
CLR - 26 Jul 2007 14:08 GMT
Interesting.....good catch.
Thanks for the  heads-up.

Vaya con Dios,
Chuck, CABGx3

> On my version of Excel 2003, if I am in A1 and type 444 then press the down
> arrow, A1 is being updated with the value from A2...
[quoted text clipped - 3 lines]
> by:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Sandy Mann - 26 Jul 2007 15:43 GMT
Chuck,

You will also have to have a line:

Application.EnableEvents = False

before any changes are made to the sheet and:

Application.EnableEvents = True

before the End Sub to stop the code firing multiple times.  For me in XL97
it fires 198 time before VBA thows in the towel.

Signature

HTH

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Interesting.....good catch.
> Thanks for the  heads-up.
[quoted text clipped - 10 lines]
>> by:
>> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
CLR - 26 Jul 2007 16:10 GMT
Hi Sandy.........
I bow to your much greater experience, and wish to learn all I can.  In this
instance, I intentionally left those lines off and do so as a general rule
anymore because I like to see things flash as the macro progresses.....sort
of in lieu of a progress indicator.  I was not aware that their absence could
actually affect the operation of the macro itself.  I use '97 also, and see
no evidence of multiple firings here.  How did you conclude that the macro
had fired 198 times?

Vaya con Dios,
Chuck, CABGx3

> Chuck,
>
[quoted text clipped - 23 lines]
> >> by:
> >> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Sandy Mann - 26 Jul 2007 16:37 GMT
Hi Chuck,

It was Chip that pointed out to me some time ago that one of my codes was
multi-firing because I missed those lines off although I could not see
anything happening on the sheet.

The code I used was:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Debug.Print "Chuck"
'Application.EnableEvents = False
If Target.Address = "$A$1" Then
Range("a2").Value = Range("a1").Value
Else
If Target.Address = "$A$2" Then
Range("a1").Value = Range("a2").Value
Else
End If
End If
'Application.EnableEvents = True
End Sub

Then I copied the entries in the Immediate Window and pasted them into a
sheet using Paste Special > Unicode Text to find that I had 198 Rows of
"Chuck"

What puzzles me is if, with the entries still in the Immediate Window, I
change the Debug.Print line to "Chuck2" I only get 65 "Chuck2".  If I then
clear all the entries in the Immediate Window and run the code again I am
back to having 198 entries! Perhaps one of the real experts can explain that
to us.

If you un-comment the EnableEvents lines that you will only get one "Chuck"

Signature

Regards,

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Hi Sandy.........
> I bow to your much greater experience, and wish to learn all I can.  In
[quoted text clipped - 11 lines]
> Vaya con Dios,
> Chuck, CABGx3
Pete_UK - 26 Jul 2007 17:30 GMT
Hi Sandy,

I'm certainly no expert in VBA, but could you possibly have a NOW()
function somewhere on the sheet or something similar, which is causing
it to recalculate (and therefore change) to trigger the macro?

Just a thought ...

Pete

> Hi Chuck,
>
[quoted text clipped - 57 lines]
>
> - Show quoted text -
Sandy Mann - 26 Jul 2007 17:56 GMT
Hi Pete,

No there is nothing in the sheet apart from the Data in A1 & A2.  A1 entered
by me, A2 entered by the code.

I think that the Event Procedure is more a sort of "Worksheet_Change or
Refresh" than just a Worksheet_Change.

VBA entering the data in A2 is a Worksheet_Change so the code fires again.
On the second and subsequent runs although the data in cell is the same as
the code in entering it still fires the code again and so on..... or so says
Chip.

Did you try the code and get a different result?

Signature

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Hi Sandy,
>
[quoted text clipped - 5 lines]
>
> Pete
Gord Dibben - 26 Jul 2007 18:03 GMT
Pete

I tested on a new workbook with nothing in it and received the multiple Chuck's
as Sandy did.  198 to be exact.

One Chuck with events disabled.

Gord

>Hi Sandy,
>
[quoted text clipped - 67 lines]
>>
>> - Show quoted text -
CLR - 26 Jul 2007 18:16 GMT
Actually, in some "circles", 198 "Chuck's" might be condsidered more
desirable than just one.........I love my mirror)..... <G>

Vaya con Dios,
Chuck, CABGx3

> Pete
>
[quoted text clipped - 76 lines]
> >>
> >> - Show quoted text -
Gord Dibben - 26 Jul 2007 18:57 GMT
Chuck

If you're going to start disabling events you should trap for errors so you
re-enable if the code errors.

On Error Goto stoppit
Application.EnableEvents = False

 'code here

stoppit:
Application.EnableEvents = True

Gord

>Actually, in some "circles", 198 "Chuck's" might be condsidered more
>desirable than just one.........I love my mirror)..... <G>
[quoted text clipped - 82 lines]
>> >>
>> >> - Show quoted text -
CLR - 26 Jul 2007 19:12 GMT
That seems cool...........thanks Gord.

Vaya con Dios,
Chuck, CABGx3

> Chuck
>
[quoted text clipped - 97 lines]
> >> >>
> >> >> - Show quoted text -
Sandy Mann - 26 Jul 2007 18:17 GMT
Thank you for confiming it Gord.  Have you got any idea why it fires only 65
times if you leave the original printouts in the Immediate Window?

Signature

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Pete
>
[quoted text clipped - 5 lines]
>
> Gord
Gord Dibben - 26 Jul 2007 18:52 GMT
Not a clunk<g>

Some limitation to debug?

Debug and the Immediate Window are uncharted waters for me.

Gord

>Thank you for confiming it Gord.  Have you got any idea why it fires only 65
>times if you leave the original printouts in the Immediate Window?
Sandy Mann - 26 Jul 2007 20:36 GMT
I think that you nailed it Gord, I tested:

Sub test()
For x = 1 To 10000
   Debug.Print x
Next x
End Sub

and although you can see all 10,000 numbers being printed to the Immediate
Window, only the last 195 - 199 numbers are available in the window.  It
would seem therefore that the Immediate Window has a limit of displaying
only the last 200 or so printouts.

Testing with the Event Procedure:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   Debug.Print Target.Value
   Target.Value = UCase(Target.Value)
End Sub

and entering Chuck in  any cell produced 199 CHUCK's *not* as I would have
expected, one Chuck and 198 CHUCK's, (because the Debug.Print was *before*
the UCase call).  I therefore assume that VBA gives up after *more* then 200
cycles but displays only the last 200.

Signature

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Not a clunk<g>
>
[quoted text clipped - 11 lines]
>>65
>>times if you leave the original printouts in the Immediate Window?
Gord Dibben - 26 Jul 2007 23:33 GMT
Interesting.

Nice to know we have nothing else to do except tinker.

We must have no "honey-do" list and/or can't get a Tee-time

>I think that you nailed it Gord, I tested:
>
[quoted text clipped - 20 lines]
>the UCase call).  I therefore assume that VBA gives up after *more* then 200
>cycles but displays only the last 200.
Sandy Mann - 27 Jul 2007 16:15 GMT
Doing a final test with:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   Target.Value = Target.Value + 1
End Sub

stops at 346 so I would gues that is where VBA is giving it up.

> We must have no "honey-do" list

I do have a "honey-do" list but I don't have a circular Tuit - I keep
telling my wife that I will do the tasks when I get a round Tuit

Signature

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

CLR - 26 Jul 2007 18:02 GMT
Awesome Sandy.....thanks much for the lesson......every day it's something
new, (shaking my old gray head)..........maybe I can use this technique to
check out some of my larger macros that seem to take a long time to execute.

Thanks again,

Vaya con Dios,
Chuck, CABGx3

> Hi Chuck,
>
[quoted text clipped - 45 lines]
> > Vaya con Dios,
> > Chuck, CABGx3
Sandy Mann - 26 Jul 2007 18:15 GMT
The some is me, the Awe is chip <g>

Signature

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings

sandymann2@mailinator.com
Replace @mailinator.com with @tiscali.co.uk

> Awesome Sandy.....thanks much for the lesson......every day it's something
> new, (shaking my old gray head)..........maybe I can use this technique to
[quoted text clipped - 5 lines]
> Vaya con Dios,
> Chuck, CABGx3

Rate this thread:






 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.