ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Runtime 1004 (https://www.excelbanter.com/excel-programming/383625-runtime-1004-a.html)

Len B

Runtime 1004
 
I have tried this a couple of ways and both give error 1004
For iCo l = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Value = "No"
Next


For iCol = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Select
Selection.Value = "No"
Next

Both fail on the ActiveWorkbook line. Any idea what I am doing wrong?

And - maybe there is a more elegant way to reset a range to a value other
than cell by cell. I guess I could have a range of the same size hidden
somewhere with "No" in every cell and just copy it over the top.

TIA
-- Len



Jim Thomlinson

Runtime 1004
 
This works for me...

Sub test()
Dim iReadyRow As Long
Dim iLow As Integer
Dim iHigh As Integer

iReadyRow = 2
iLow = 3
iHigh = 10

ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iLow), _
Cells(iReadyRow, iHigh)).Value = "No"
End Sub

--
HTH...

Jim Thomlinson


"Len B" wrote:

I have tried this a couple of ways and both give error 1004
For iCo l = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Value = "No"
Next


For iCol = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Select
Selection.Value = "No"
Next

Both fail on the ActiveWorkbook line. Any idea what I am doing wrong?

And - maybe there is a more elegant way to reset a range to a value other
than cell by cell. I guess I could have a range of the same size hidden
somewhere with "No" in every cell and just copy it over the top.

TIA
-- Len




Len B

Runtime 1004
 
Hi Jim,
Thanks for such a quick response.

I'm the dummy, aren't I?
But if I need to blame someone, I'll blame Intellisense. It didn't remind me
that Range has 2 parameters, not one (but it is NOW).
It just looked right because range end same as range begin.
Thanks
-- Len

"Jim Thomlinson" wrote in message
...
This works for me...

Sub test()
Dim iReadyRow As Long
Dim iLow As Integer
Dim iHigh As Integer

iReadyRow = 2
iLow = 3
iHigh = 10

ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iLow), _
Cells(iReadyRow, iHigh)).Value = "No"
End Sub

--
HTH...

Jim Thomlinson


"Len B" wrote:

I have tried this a couple of ways and both give error 1004
For iCo l = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Value =
"No"
Next


For iCol = iLow To iHigh
ActiveWorkbook.Sheets("Main").Range(Cells(iReadyRo w, iCol)).Select
Selection.Value = "No"
Next

Both fail on the ActiveWorkbook line. Any idea what I am doing wrong?

And - maybe there is a more elegant way to reset a range to a value other
than cell by cell. I guess I could have a range of the same size hidden
somewhere with "No" in every cell and just copy it over the top.

TIA
-- Len







All times are GMT +1. The time now is 07:05 PM.

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