View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default VBA does not recognize Excel worksheet function "indirect"

Normally to call a worksheet function in VBA need to do it like this
result = Application.WorksheetFunction.funcName()

However, as macropod has pointed out, Indirect is not an available
WorksheetFunction.

But why not simply -
Refer = Range(cellref).Value

or
Refer = Worksheets(SheetName).Range(CellName).Value

or if you already have a reference to the sheet as is typically the case
Refer = ws.Range(CellName).Value

(using your argument names and assuming all is to refer to the Active
workbook)

Regards,
Peter T


"AJ" wrote in message
...
I have a piece of Excel code as follows

Public Function Refer(ByVal SheetName, ByVal CellName) As Variant
Dim cellref As String
cellref = "'" & SheetName & "'!" & CellName
Refer = Indirect(cellref)
End Function

When I compile this VBA project, I get a 'function not defined' error on
the
Indirect function.

Any ideas? I have ensured all VBA libraries are referenced.