Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Reading a cell that a user has clicked on


Hi all,

Is there any way in VBA it make the value of any cell that is clicked
on available to be used in the code. For example, if you had a range of
numbers and the user clicked on any one of the cells; that value they
clicked on would then be available to be used in VBA, such as in a
function. Below is what I'm trying to achieve.

The Sub and function below are in a module. The idea is that the cell
that the user clicks on is placed into memory and becomes available to
be used any where.

---------------------
Sub PutMemoryTestNumber(NewMemoryTestNumber As Single)
sngMemoryTestNumber = NewMemoryTestNumber
End Sub

Function fnMemoryTestNumber() As Single
fnMemoryTestNumber = sngMemoryTestNumber
End Function
--------------------

The subroutine below is in the form where the user clicks on the cell.

--------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
PutMemoryTestNumber THIS IS WHERE I WOULD LIKE TO ADD THE VALUE OF THE
CELL THAT THE USER HAS CLICKED ON
End Sub
-------------------

The cell that the user has clicked on would be placed into the
subroutine PutMemoryTestNumber which would then be available to the
function.

Does this make sense?

Any help would be greatly appreciated.

Best Regards,

Aaron


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile: http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Reading a cell that a user has clicked on


Hello Aaron1978,

In one of your VBA modules, delare MemoryTestNumber as Public. This
makes the variable global, i.e. avaibable to all routines in VBA.

Public MemoryTestNumber As Single

This macro looks sets the test range to be A2:K50, you can change this
to whatever you are using. If the clicked cell is within this range, it
then sets the global variable MemoryTestNumber equal to the cell's
value. If the cell is not a number, you will get a type mismatch error.



Code:
--------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim TestRange As Range
'Define your test range
Set TestRange = ThisWorksheet.Range("A2:K50")
'Test that the cell selected in within the range you want
Set TestRange = Application.Intersect(Target, MyRange)
'Test if clicked cell is within the given range
If Not TestRange Is Nothing Then MemoryTestNumber = TestRange.Value
End Sub

--------------------


Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=548156

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Reading a cell that a user has clicked on


Thanks man. However, when I click on a cell I get the following error:

Runtime error '424':
Object Required

And it takes me to the lineL


Code:
--------------------

Set TestRange = ThisWorksheet.Range("F13:F18")

--------------------


Any ideas what I'm doing wrong?


Code:
--------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim TestRange As Range
Dim MemoryTestNumber As Single
'Define your test range
Set TestRange = ThisWorksheet.Range("F13:F18")
'Test that the cell selected in within the range you want
Set TestRange = Application.Intersect(Target, MyRange)
'Test if clicked cell is within the given range
If Not TestRange Is Nothing Then MemoryTestNumber = TestRange.Value

PutMemoryTestNumber MemoryTestNumber

End Sub

--------------------


Thanks again,

Aaron


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile: http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Reading a cell that a user has clicked on

Hi Aaron,

Try changing

Set TestRange = ThisWorksheet.Range("F13:F18")


to

Set TestRange = Activesheet.Range("F13:F18")


---
Regards,
Norman



"Aaron1978" wrote
in message ...

Thanks man. However, when I click on a cell I get the following error:

Runtime error '424':
Object Required

And it takes me to the lineL


Code:
--------------------

Set TestRange = ThisWorksheet.Range("F13:F18")

--------------------


Any ideas what I'm doing wrong?


Code:
--------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim TestRange As Range
Dim MemoryTestNumber As Single
'Define your test range
Set TestRange = ThisWorksheet.Range("F13:F18")
'Test that the cell selected in within the range you want
Set TestRange = Application.Intersect(Target, MyRange)
'Test if clicked cell is within the given range
If Not TestRange Is Nothing Then MemoryTestNumber = TestRange.Value

PutMemoryTestNumber MemoryTestNumber

End Sub

--------------------


Thanks again,

Aaron


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile:
http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Reading a cell that a user has clicked on


Excellent, that worked great. Thanks.

I'm now getting the same error message but for the line:


Code:
--------------------

Set TestRange = Application.Intersect(Target, MyRange)

--------------------


I'm not sure what MyRange is doing.

Any ideas?


Code:
--------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim TestRange As Range
Dim MemoryTestNumber As Single
'Define your test range
Set TestRange = ActiveSheet.Range("F13:F18")
'Test that the cell selected in within the range you want
Set TestRange = Application.Intersect(Target, MyRange)
'Test if clicked cell is within the given range
If Not TestRange Is Nothing Then MemoryTestNumber = TestRange.Value

PutMemoryTestNumber MemoryTestNumber

End Sub

--------------------


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile: http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,302
Default Reading a cell that a user has clicked on

Hi Aaron,

Try changing:

Set TestRange = Application.Intersect(Target, MyRange)



to

Set TestRange = Application.Intersect(Target, TestRange)


---
Regards,
Norman



"Aaron1978" wrote
in message ...

Excellent, that worked great. Thanks.

I'm now getting the same error message but for the line:


Code:
--------------------

Set TestRange = Application.Intersect(Target, MyRange)

--------------------


I'm not sure what MyRange is doing.

Any ideas?


Code:
--------------------

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim TestRange As Range
Dim MemoryTestNumber As Single
'Define your test range
Set TestRange = ActiveSheet.Range("F13:F18")
'Test that the cell selected in within the range you want
Set TestRange = Application.Intersect(Target, MyRange)
'Test if clicked cell is within the given range
If Not TestRange Is Nothing Then MemoryTestNumber = TestRange.Value

PutMemoryTestNumber MemoryTestNumber

End Sub

--------------------


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile:
http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Reading a cell that a user has clicked on


Thanks again.


--
Aaron1978
------------------------------------------------------------------------
Aaron1978's Profile: http://www.excelforum.com/member.php...o&userid=31201
View this thread: http://www.excelforum.com/showthread...hreadid=548156

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Reading Data from a User Form. Aaron1978 Excel Programming 2 February 5th 06 07:19 PM
Change cell value when right-clicked/double-clicked grime[_5_] Excel Programming 5 October 17th 05 01:52 PM
Code needed to test if user clicked a button Subs Excel Programming 2 September 26th 05 02:52 PM
reading a user-set autofilter value Rob[_5_] Excel Programming 3 July 23rd 05 07:47 PM
How do I check if a user clicked the Print Cancel button joanne Excel Programming 0 September 5th 03 08:24 AM


All times are GMT +1. The time now is 01:33 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"