Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 130
Default Syntax question using :=

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
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 130
Default Syntax question using :=

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
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 130
Default Syntax question using :=

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.
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default Syntax question using :=

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


Parenthesis are used when a return is expected. Think of them as a
'return envelope' used when passing args to a function. The Copy method
does not return anything and so no 'return envelope' is used. In all
cases where returns are expected, the parenthesis are used on the right
side of the equal operator.

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default Syntax question using :=

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




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 130
Default Syntax question using :=

On Oct 5, 7:06*am, GS wrote:
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


Parenthesis are used when a return is expected. Think of them as a
'return envelope' used when passing args to a function. The Copy method
does not return anything and so no 'return envelope' is used. In all
cases where returns are expected, the parenthesis are used on the right
side of the equal operator.

--
Garry

Free usenet access athttp://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


I'll have to think about that. That may be over my head. Thanks for
the help.

Andy
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 86
Default Syntax question using :=

On 10/5/2011 8:45 PM, Andrew wrote:
On Oct 5, 7:06 am, wrote:
Andrew wrote :









On Oct 5, 6:47 am, 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


Parenthesis are used when a return is expected. Think of them as a
'return envelope' used when passing args to a function. The Copy method
does not return anything and so no 'return envelope' is used. In all
cases where returns are expected, the parenthesis are used on the right
side of the equal operator.

--
Garry

Free usenet access athttp://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


I'll have to think about that. That may be over my head. Thanks for
the help.

Andy


I think they discussed the same issue he

http://www.excelforum.com/excel-prog...stination.html
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
Syntax question BigDave63 Excel Worksheet Functions 4 February 5th 09 06:50 PM
syntax question Gary Keramidas Excel Programming 10 March 4th 07 09:53 PM
syntax question JT Excel Programming 1 November 28th 05 08:41 PM
Syntax question Stuart[_5_] Excel Programming 3 December 3rd 03 08:45 PM
VBA Syntax Question? Michael168[_54_] Excel Programming 0 November 5th 03 11:02 AM


All times are GMT +1. The time now is 05:05 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"