ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA does not recognize Excel worksheet function "indirect" (https://www.excelbanter.com/excel-programming/421889-vba-does-not-recognize-excel-worksheet-function-indirect.html)

AJ

VBA does not recognize Excel worksheet function "indirect"
 
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.

Leith Ross[_714_]

VBA does not recognize Excel worksheet function "indirect"
 

AJ;165121 Wrote:
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.


Hello AJ,

You're right. VBA doesn't support the worksheet function "Indirect".
You can achieve the this by taking the Range of a Range.

Refer = Range(Range(cellref))

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45837


macropod[_2_]

VBA does not recognize Excel worksheet function "indirect"
 
Hi AJ,

INDIRECT is not one of the Worksheet Functions available to VBA - see "List of Worksheet Functions Available to Visual Basic" in
Excel's help file.

--
Cheers
macropod
[MVP - Microsoft Word]


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



Peter T

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.





All times are GMT +1. The time now is 08:40 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com