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
> > > > >
> > > > >