Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 74
Default <All Subroutine Arguments

Thanks to all who commented. The addition of the Worksheets("Sheet3").
specifier did it.

Ray
Tom Ogilvy wrote in message
...
Assume RangeName1 (and RangeName2) is a defined name. If it does not

refer
to the sheet containing the code, then you need to qualifiy it with the
worksheet name. Normally this is not required, but when used in a sheet
module, it is.

assume
Name: RangeName1
Refersto: =Sheet3!$A$1:$A$100

and code is in Sheet2 code module. Then

Set ANRange = Worksheets("Sheet3").Range("RangeName1")

--

Regards,
Tom Ogilvy

"Ray Batig" wrote in message
nk.net...
H Frank,

Thanks for your reply. I always have Option Explicit Set, however, the

code
is running on another machine so I retyped it. My 2 thumbs and their 8
friends messed up. Both ranges exist before calling the macro, and there

is
data in them. I added in the Set commands and stepped through the macro.
When I try to execute the Set ANRange = Range("RangeName1") code I get

the
same error.

Any more suggestions? Thanks again!

Ray

Frank Kabel wrote in message
...
Hi
some remarks:
- first you should add the line 'Option explicit' to your module as
there is a typo in the line
Long WkShts = "SheetName"
should read
Long WkSht = "SheetName"

For your error: Is RangeName1 a defined name?. If not it won't work.
Also you have to use Set to assign a range object. So in total change
your code to
Private Sub CommandButton2_Click()
Dim WkSht As String, ANRange As Range, XlSlots As Range, RCol As
Long
WkSht = "SheetName"
Set ANRange = Range("RangeName1")
Set XlSlots = Range("RangeName2")
RCol = 5
Call BuildReport( WkSht, ANRange, XlSlots, RCol)
End Sub


--
Regards
Frank Kabel
Frankfurt, Germany

Ray Batig wrote:
I am obviously missing something since I can't get this to work. I

am
building a subroutine that will work on several worksheets. The Sub
would be initiated by clicking a button on the worksheet. To make it
universal, I need to pass the Worksheet name, the Range to be
manipulated, a Range on another worksheet which holds some data, and
a constant. Here is what I have tried.

On the Worksheet:

Private Sub CommandButton2_Click()
Dim WkSht As String, ANRange As Range, XlSlots As Range, RCol As
Long WkShts = "SheetName"
ANRange = Range("RangeName1")
XlSlots = Range("RangeName2")
RCol = 5
Call BuildReport( WkSht, ANRange, XlSlots, RCol)
End Sub

In Module:
Sub BuildReport( WkSht As String, ANRange As Range, XlSlots As

Range,
RCol As Long)

Code
End Sub

Running this code produces a Run-time '1004' Application-defined or
object-defined error.

I have tried several other versions without success. What can I do

to
fix this? Thanks in advance for your help!

Ray







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
Call a subroutine using variable subroutine name dhstein Excel Discussion (Misc queries) 3 July 26th 09 08:28 PM
SUBROUTINE HELP biker man Excel Discussion (Misc queries) 1 July 28th 07 04:06 PM
Second subroutine to run automatically MatthewT[_7_] Excel Programming 1 January 29th 04 06:59 PM
editing a subroutine ChuckM[_2_] Excel Programming 2 January 12th 04 05:56 PM
Every second subroutine dolegow Excel Programming 1 October 12th 03 02:11 AM


All times are GMT +1. The time now is 11:28 PM.

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

About Us

"It's about Microsoft Excel"