Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Refer to the worksheet containing the current running code

Hi

I think this should be simple, but I can't find a way to do this.

I am calling code from a Command Button which in turn calls code in a
Module. The code in the Module does some recurring copy and paste
operations to a chosen sheet. I need to pass the name of the sheet
where the command button resides to the sub in the Module. How do I do
this?

Currently, I have a private wrapper sitting in the button sheet. I
have tried guesses like Worksheet.Name - but that gives an error.
ActiveSheet might work - but I am not sure how to go about this.

The perfect solution would be to have the wrapper refer to the sheet
that the code (rather than the button) resides in, so I can call the
routine via other means than a button. In paraphrasing, object code
like the following would be perfect:

ThisPrivateSub.RelatedSheetObject.Name

Does anyone know how to do this?

Thanks for any help

John

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Refer to the worksheet containing the current running code

You could pass the name of the worksheet or a reference to that worksheet
itself:

Behind the worksheet:

Option Explicit
Private Sub CommandButton1_Click()
Call testme01(Me)
'or
Call testme02(Me.Name)
End Sub

In a general module:

Option Explicit
Sub testme01(wks As Worksheet)
MsgBox wks.Name
End Sub
Sub testme02(wksName As String)
MsgBox wksName
End Sub


I like passing the worksheet reference. Then I get all the properties/methods
that can apply to worksheets.




" wrote:

Hi

I think this should be simple, but I can't find a way to do this.

I am calling code from a Command Button which in turn calls code in a
Module. The code in the Module does some recurring copy and paste
operations to a chosen sheet. I need to pass the name of the sheet
where the command button resides to the sub in the Module. How do I do
this?

Currently, I have a private wrapper sitting in the button sheet. I
have tried guesses like Worksheet.Name - but that gives an error.
ActiveSheet might work - but I am not sure how to go about this.

The perfect solution would be to have the wrapper refer to the sheet
that the code (rather than the button) resides in, so I can call the
routine via other means than a button. In paraphrasing, object code
like the following would be perfect:

ThisPrivateSub.RelatedSheetObject.Name

Does anyone know how to do this?

Thanks for any help

John


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Refer to the worksheet containing the current running code

Thanks. The "me" object is what I am looking for.

Dave Peterson wrote:
You could pass the name of the worksheet or a reference to that worksheet
itself:

Behind the worksheet:

Option Explicit
Private Sub CommandButton1_Click()
Call testme01(Me)
'or
Call testme02(Me.Name)
End Sub

In a general module:

Option Explicit
Sub testme01(wks As Worksheet)
MsgBox wks.Name
End Sub
Sub testme02(wksName As String)
MsgBox wksName
End Sub


I like passing the worksheet reference. Then I get all the properties/methods
that can apply to worksheets.




" wrote:

Hi

I think this should be simple, but I can't find a way to do this.

I am calling code from a Command Button which in turn calls code in a
Module. The code in the Module does some recurring copy and paste
operations to a chosen sheet. I need to pass the name of the sheet
where the command button resides to the sub in the Module. How do I do
this?

Currently, I have a private wrapper sitting in the button sheet. I
have tried guesses like Worksheet.Name - but that gives an error.
ActiveSheet might work - but I am not sure how to go about this.

The perfect solution would be to have the wrapper refer to the sheet
that the code (rather than the button) resides in, so I can call the
routine via other means than a button. In paraphrasing, object code
like the following would be perfect:

ThisPrivateSub.RelatedSheetObject.Name

Does anyone know how to do this?

Thanks for any help

John


--

Dave Peterson


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
Refer to current row in formula willemeulen[_12_] Excel Worksheet Functions 5 May 19th 09 03:34 PM
how to prevent code running when in a worksheet code Corey Excel Programming 5 August 13th 06 08:52 AM
how to I refer to current workbook without using its name? confused Excel Worksheet Functions 2 June 16th 05 11:50 PM
Refer to Worksheet Ranges in Code Andibevan[_2_] Excel Programming 8 March 30th 05 12:20 PM
More then 1 Excel object running at same time , how can I refer to right one in code? Dave Lauberts Excel Programming 5 October 28th 04 03:57 PM


All times are GMT +1. The time now is 11:43 AM.

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"