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