Error trying to select a cell

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
 
T

Tom Ogilvy

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top