View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson Jim Thomlinson is offline
external usenet poster
 
Posts: 5,939
Default Help with VBA code - passing references to sheets?

Unless explicitly referenced code in a module references the active sheet.
Code within a sheet references the sheet it is in unless otherwise specified.
So the long and the short of it is since your code is in a module it will
execute on the active sheet. So the code will be executed on the sheet where
the button was presses (assuming your button came from the forms toolbar and
is linked to code withing a the module).
--
HTH...

Jim Thomlinson


"Rayo K" wrote:

Hi,

I have a project that is setup like this:
We have several machines each of which has a worksheet in this workbook. The
worksheets have several ranges of data that cover the previous year. Every
month, we need to move the previous 11 months data up one row and clear the
12th row for the new month. I am trying to automate that so each page has a
button that will do it.

The code is essentially the same for each worksheet. The only difference is
different types of machines have different ranges (e.g. Type I has
A10:K21,V10:AA21,€¦ while Type II has A10:N21,X10:AF21,€¦). I created a module
which has the code and a select case routine to set range variables based on
the type of machine. I want to have all the machine sheets have a simple
button that passes the machine type as an argument to the module sub.

My question is: Do I need to pass a reference for the individual sheets to
the module? If I just run the module code, will it assume the sheet on which
the button was pressed was the active sheet or do I need to explicitly state
which sheet I will be setting ranges on and pasting?

Thanks in advance for any help€¦