ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Different usage of range formats, conflict? (https://www.excelbanter.com/excel-programming/370244-different-usage-range-formats-conflict.html)

azzura

Different usage of range formats, conflict?
 

Hi all,
I've got confused with many range formats. In Help site of MS Office
2003 told that these 2 types of range is the same:
ex1: Range("A1:C20")
ex2: Range(cells(1,1),cells(20,3))
However I've found that they are different in using.
ex1: sheets(1).Range("A1:C20").copy(sheets(2).range("A1 ")) -- It's
working
ex2:
sheets(1).Range(cells(1,1),cells(20,3)).copy(sheet s(2).range("A1")) --
fail
Object-defined error????
I really dont know what is the different thing here? The same case with
others functions using with range?
Anybody meet the same problem like me? plz give me some hints or show
me the solving? thanks a lots!!!


--
azzura
------------------------------------------------------------------------
azzura's Profile: http://www.excelforum.com/member.php...o&userid=37450
View this thread: http://www.excelforum.com/showthread...hreadid=571156


Peter T

Different usage of range formats, conflict?
 
Whenever Cells(1,1) is not prefixed with a dot it refers to a cell on the
activesheet, unless the code is in a sheet module in which case it refers to
that sheet (typically but not necessarily the active sheet).

sheets(1).Range(cells(1,1),cells(20,3))

will only work if Sheets(1) is the active worksheet

Instead try

Worksheets(1).Range(Worksheets(1).Cells(1,1), Worksheets(1)..Cells(20,3))

or

With Worksheets(1)
.Range(.Cells(1,1), .Cells(20,3)) etc
End With

Note the dot prefix .Cells(

Alternatively
Worksheets(1).Range("A1:C" & 20)

In passing note Sheets(1) in this context would fail if a chart sheet

Regards,
Peter T


"azzura" wrote in
message ...

Hi all,
I've got confused with many range formats. In Help site of MS Office
2003 told that these 2 types of range is the same:
ex1: Range("A1:C20")
ex2: Range(cells(1,1),cells(20,3))
However I've found that they are different in using.
ex1: sheets(1).Range("A1:C20").copy(sheets(2).range("A1 ")) -- It's
working
ex2:
sheets(1).Range(cells(1,1),cells(20,3)).copy(sheet s(2).range("A1")) --
fail
Object-defined error????
I really dont know what is the different thing here? The same case with
others functions using with range?
Anybody meet the same problem like me? plz give me some hints or show
me the solving? thanks a lots!!!


--
azzura
------------------------------------------------------------------------
azzura's Profile:

http://www.excelforum.com/member.php...o&userid=37450
View this thread: http://www.excelforum.com/showthread...hreadid=571156




azzura[_2_]

Different usage of range formats, conflict?
 

Yeah, thanks Peter.
It works well. It's just a little hint but help m

--
azzur
-----------------------------------------------------------------------
azzura's Profile: http://www.excelforum.com/member.php...fo&userid=3745
View this thread: http://www.excelforum.com/showthread.php?threadid=57115



All times are GMT +1. The time now is 01:24 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com