Error trying to select a cell

  • Thread starter Thread starter jclark419
  • Start date Start date
J

jclark419

Hey guys, this should be a simple one but I still havn't gotten it. The
code is here:


Code:
--------------------

Public Function results() As Double

Dim answers(9, 9) As Double
Dim i, j, component As Integer


For i = 20 To 29

For j = 7 To 15

ThisWorkbook.Worksheets("Calculations").Cells(i, j).Activate
component = ThisWorkbook.Worksheets("Calculations").Cells(ActiveCell.row, 6).Value

Select Case component
Case 1
answers(i, j) = conversion(i, j) + flush(i, j) + additive(i, j)
Case 2
answers(i, j) = conversion(i, j) + flush(i, j) + additive(i, j)
Case Else
answers(i, j) = conversion(i, j)
End Select
Next j

Next i

End Function

--------------------


Conversion, Flush and Additive are all seperate functions being called
to from here. The error is in this line:


Code:
--------------------

ThisWorkbook.Worksheets("Calculations").Cells(i, j).Select

--------------------


It returns a select range error on this line implying that it is not
properly addressed.

Thanks.

~Jason
 
If you use the function in a cell like the SUM function as an example, then
you should not attempt to do any activating or selection.

If you just call this from VBA, then the sheet calculations must be the
active sheet to successfully execute that command. Otherwise it should be

ThisWorkbook.Activate
Worksheets("Calculations").Activate
For i = 20 To 29

For j = 7 To 15

ThisWorkbook.Worksheets("Calculations").Cells(i, j).Select
component = ThisWorkbook.Worksheets("Calculations").Cells(ActiveCell.row,
6).Value

Select Case component
Case 1
answers(i, j) = conversion(i, j) + flush(i, j) + additive(i, j)
Case 2
answers(i, j) = conversion(i, j) + flush(i, j) + additive(i, j)
Case Else
answers(i, j) = conversion(i, j)
End Select
Next j

Next i

--
Regards,
Tom Ogilvy


jclark419 said:
Hey guys, this should be a simple one but I still havn't gotten it. The
code is here:


Code:
--------------------

Public Function results() As Double

Dim answers(9, 9) As Double
Dim i, j, component As Integer


For i = 20 To 29

For j = 7 To 15

ThisWorkbook.Worksheets("Calculations").Cells(i, j).Activate
component =
ThisWorkbook.Worksheets("Calculations").Cells(ActiveCell.row, 6).Value
 
Back
Top