View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson[_5_] Jim Thomlinson[_5_] is offline
external usenet poster
 
Posts: 486
Default Runtime error 1004- application defined or object defined erro

It does not appear as if j has ever been initialized. Place a break point on
the line

j = DataRowNo2

and rerun the code. If the code execution does not stop on that line then
that line never executes and you have found (not fixed but found) your
problem.
--
HTH...

Jim Thomlinson


"Novice" wrote:

it says value of j <out of context?? :(

I have 0 in cell G2 on sheet "Comments", and 1 in cell G3, shouldn't j=3? I
am confused.

thanks

"Jim Thomlinson" wrote:

So what it is the value of j. Place a break point on that line (F9 key) and
add a watch (highlight the variable and right click - Add Watch).
--
HTH...

Jim Thomlinson


"Novice" wrote:

DataRowNo2 is between 2 and 30, and j should not be 0. The loop is to make
sure to "append" record in sheet "Comment", coz it might already have data
there. And i works fine in sheet "Data".

"Jim Thomlinson" wrote:

What is the value of j when the error is generated. My guess would be that
the line:

j = DataRowNo2

is never executed so j is never initialized, meaning that it will have a
default value of 0. Since row 0 does not exist the error is generated.
--
HTH...

Jim Thomlinson


"Novice" wrote:

Hi, Thanks in advance. I am really a novice for VB. please don't laugh at my
silly codes. I am trying to copy info on "DataEntry" sheet to sheets "Data"
and "Comments". It works well pasting to "Data" but I got error msg like
"Runtime error 1004- application defined or object defined error" when
pasting to "Comments". Please see what's wrong with my code as below:

Private Sub Submit_Click()
€˜Data Sheet
For DataRowNo = 2 To 100
If Worksheets("Data").Cells(DataRowNo, 17) = 1 Then
i = DataRowNo
Else
DataRowNo = DataRowNo + 1
End If
Next

Worksheets("Data").Cells(i, 1) = Worksheets("DataEntry").Cells(5, 3)
Worksheets("Data").Cells(i, 2) = Worksheets("DataEntry").Cells(6, 3)

€˜Comment sheet
For DataRowNo2 = 2 To 30 '
If Worksheets("Comments").Cells(DataRowNo2, 7) = 1 Then
j = DataRowNo2
Else
DataRowNo2 = DataRowNo2 + 1
End If
Next
€˜Error line (run time error 1004)
Worksheets("Comments").Cells(j, 3) = Worksheets("DataEntry").Cells(29, 21)
'Worksheets("Comments").Cells(j, 3) = Worksheets("DataEntry").Cells(37, 21)

End sub