ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Error 1004 when defining range by cells(r,c) format (https://www.excelbanter.com/excel-programming/298713-error-1004-when-defining-range-cells-r-c-format.html)

dave

Error 1004 when defining range by cells(r,c) format
 
Whenever I try to define a range with the following
syntax, for example:

Worksheets("Name").Range(Cells(3,3), Cells(2402,3))

I get the following error message:

Run-time error '1004': Application-defined or object-
defined error.

However, defining the range with the following syntax
works just fine:

Worksheets("Name").Range("C3:C2402")

The problem is, I want to be able to treat the row and
column numbers as variables within the code.

The other interesting thing is that the offending method
seems to work once, but then not again, or perhaps only
works if the worksheet happens to be active, which
doesn't help if I'm trying to write to ranges on more
than one worksheet successively.

Can anyone tell me what I'm doing wrong?

Thanks in advance,
Dave Dixon

Bob Phillips[_6_]

Error 1004 when defining range by cells(r,c) format
 
Dave,

Is sheet 'Name' active when you run this code. If not, it is probably
getting confused as you define the worksheet but then use a Cells reference
on the active sheet. Try

With Worksheets("Name")
.Range(.Cells(3,3), .Cells(2402,3))
etc
End With

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Whenever I try to define a range with the following
syntax, for example:

Worksheets("Name").Range(Cells(3,3), Cells(2402,3))

I get the following error message:

Run-time error '1004': Application-defined or object-
defined error.

However, defining the range with the following syntax
works just fine:

Worksheets("Name").Range("C3:C2402")

The problem is, I want to be able to treat the row and
column numbers as variables within the code.

The other interesting thing is that the offending method
seems to work once, but then not again, or perhaps only
works if the worksheet happens to be active, which
doesn't help if I'm trying to write to ranges on more
than one worksheet successively.

Can anyone tell me what I'm doing wrong?

Thanks in advance,
Dave Dixon




pikus

Error 1004 when defining range by cells(r,c) format
 
Worksheets("Name").Range(.Cells(3,3), .Cells(2402,3))

Notice the periods - Piku

--
Message posted from http://www.ExcelForum.com


Bob Phillips[_6_]

Error 1004 when defining range by cells(r,c) format
 
What objects are qualifying those?

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"pikus " wrote in message
...
Worksheets("Name").Range(.Cells(3,3), .Cells(2402,3))

Notice the periods - Pikus


---
Message posted from http://www.ExcelForum.com/




John M.[_4_]

Error 1004 when defining range by cells(r,c) format
 
In that context .Cells(x, y) is effectively Worksheets
("Name").Cells(x, y). Does that answer your question?

John M.
-----Original Message-----
What objects are qualifying those?

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"pikus " wrote in

message
...
Worksheets("Name").Range(.Cells(3,3), .Cells(2402,3))

Notice the periods - Pikus


---
Message posted from http://www.ExcelForum.com/



.


dave

Error 1004 when defining range by cells(r,c) format
 
Bob,

Thanks for your reply. Based on your comment that VB was
getting confused about which sheet was open, I was able
to fix the problem by breaking up the code into the
following:

Worksheets("Name").Activate
Range(Cells(x,y), Cells(a,b)).Value = WhatEver

Now it is all working without a hitch. The original code
should still have worked though. By qualifying the Range
property with an Object, I shouldn't have had to do it
this way.

Cheers,
Dave Dixon

-----Original Message-----
Dave,

Is sheet 'Name' active when you run this code. If not,

it is probably
getting confused as you define the worksheet but then

use a Cells reference
on the active sheet. Try

With Worksheets("Name")
.Range(.Cells(3,3), .Cells(2402,3))
etc
End With

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Whenever I try to define a range with the following
syntax, for example:

Worksheets("Name").Range(Cells(3,3), Cells(2402,3))

I get the following error message:

Run-time error '1004': Application-defined or object-
defined error.

However, defining the range with the following syntax
works just fine:

Worksheets("Name").Range("C3:C2402")

The problem is, I want to be able to treat the row and
column numbers as variables within the code.

The other interesting thing is that the offending

method
seems to work once, but then not again, or perhaps only
works if the worksheet happens to be active, which
doesn't help if I'm trying to write to ranges on more
than one worksheet successively.

Can anyone tell me what I'm doing wrong?

Thanks in advance,
Dave Dixon



.


Bob Phillips[_6_]

Error 1004 when defining range by cells(r,c) format
 


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Bob,

Thanks for your reply. Based on your comment that VB was
getting confused about which sheet was open, I was able
to fix the problem by breaking up the code into the
following:

Worksheets("Name").Activate
Range(Cells(x,y), Cells(a,b)).Value = WhatEver

Now it is all working without a hitch. The original code
should still have worked though. By qualifying the Range
property with an Object, I shouldn't have had to do it
this way.

Cheers,
Dave Dixon

-----Original Message-----
Dave,

Is sheet 'Name' active when you run this code. If not,

it is probably
getting confused as you define the worksheet but then

use a Cells reference
on the active sheet. Try

With Worksheets("Name")
.Range(.Cells(3,3), .Cells(2402,3))
etc
End With

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Whenever I try to define a range with the following
syntax, for example:

Worksheets("Name").Range(Cells(3,3), Cells(2402,3))

I get the following error message:

Run-time error '1004': Application-defined or object-
defined error.

However, defining the range with the following syntax
works just fine:

Worksheets("Name").Range("C3:C2402")

The problem is, I want to be able to treat the row and
column numbers as variables within the code.

The other interesting thing is that the offending

method
seems to work once, but then not again, or perhaps only
works if the worksheet happens to be active, which
doesn't help if I'm trying to write to ranges on more
than one worksheet successively.

Can anyone tell me what I'm doing wrong?

Thanks in advance,
Dave Dixon



.




Bob Phillips[_6_]

Error 1004 when defining range by cells(r,c) format
 
Dave,

Not if some other worksheet was active as I mentioned.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Bob,

Thanks for your reply. Based on your comment that VB was
getting confused about which sheet was open, I was able
to fix the problem by breaking up the code into the
following:

Worksheets("Name").Activate
Range(Cells(x,y), Cells(a,b)).Value = WhatEver

Now it is all working without a hitch. The original code
should still have worked though. By qualifying the Range
property with an Object, I shouldn't have had to do it
this way.

Cheers,
Dave Dixon

-----Original Message-----
Dave,

Is sheet 'Name' active when you run this code. If not,

it is probably
getting confused as you define the worksheet but then

use a Cells reference
on the active sheet. Try

With Worksheets("Name")
.Range(.Cells(3,3), .Cells(2402,3))
etc
End With

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"dave" wrote in message
...
Whenever I try to define a range with the following
syntax, for example:

Worksheets("Name").Range(Cells(3,3), Cells(2402,3))

I get the following error message:

Run-time error '1004': Application-defined or object-
defined error.

However, defining the range with the following syntax
works just fine:

Worksheets("Name").Range("C3:C2402")

The problem is, I want to be able to treat the row and
column numbers as variables within the code.

The other interesting thing is that the offending

method
seems to work once, but then not again, or perhaps only
works if the worksheet happens to be active, which
doesn't help if I'm trying to write to ranges on more
than one worksheet successively.

Can anyone tell me what I'm doing wrong?

Thanks in advance,
Dave Dixon



.




Bob Phillips[_6_]

Error 1004 when defining range by cells(r,c) format
 
No it doesn't because no it isn't.

My question was pointing out a problem, not seeking enlightenment.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"John M." wrote in message
...
In that context .Cells(x, y) is effectively Worksheets
("Name").Cells(x, y). Does that answer your question?

John M.
-----Original Message-----
What objects are qualifying those?

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"pikus " wrote in

message
...
Worksheets("Name").Range(.Cells(3,3), .Cells(2402,3))

Notice the periods - Pikus


---
Message posted from http://www.ExcelForum.com/



.





All times are GMT +1. The time now is 07:11 AM.

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