Andrew used his keyboard to write :
On Oct 5, 6:49*am, Andrew wrote:
On Oct 5, 6:47*am, Andrew wrote:
Hello,
In using the range method "copy" I have run into some issues with
syntax. *Below is some code. *I have three statements for copying the
range to a specified destination. *Two methods work. *But when I use
parentheses around the argument, I get an error. *I've encountered
this before. *Why would I get an error when putting the argument in
parentheses?
Sub Copy_Ranges()
Dim source_range As Range
Dim dest_location As Range
Set source_range = Worksheets("Sheet1").Range("A1:B2")
Set dest_location = Worksheets("Sheet1").Range("A10")
source_range.Copy Destination dest_location * * * *' this works fine
source_range.Copy Destination:=dest_location * * *' this works fine
source_range.Copy(dest_location) * * * * * * * * * * * *' this one
results in an error
End Sub
I've incorrectly typed my command statements. *Here is the real code.
source_range.Copy dest_location * * * * * * * * * * * * ' this works
fine
source_range.Copy Destination:=dest_location * * *' this works fine
source_range.Copy(dest_location) * * * * * * * * * * * *' this one
results in an error
I'd like to add that if I declare the argument "dest_location" as a
variant, not a range, then I am able to use the statement:
source_range.Copy(dest_location). If "dest_location" is declared as a
range, the method fails.
Declaring the arg as Variant causes VBA to evaluate what's wrapped in
the parenthesis. Normally, this is poor programming practice since the
extra processing makes your code less efficient.
--
Garry
Free usenet access at
http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc