Different usage of range formats, conflict?

  • Thread starter Thread starter azzura
  • Start date Start date
A

azzura

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(sheets(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!!!
 
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top