![]() |
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. |
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 |
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. |
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