'Public Function DisplayCellFunction(cellID1 As String, cellID2 As String)
Public Function DisplayCellFunction(cellID1 As Integer, cellID2 As Integer)
'Copy formulas to the adjacent cell for visual verification
'Range(cellID1) = quot;'quot; amp; Range(cellID2).Formula
Range(quot;F26quot;) = quot;'quot; amp; Range(quot;d26quot;).Formula
End FunctionIn the workbook I enter
=DisplayCellFunction(F26, D26)
I get a #Name Error
=DisplayCellFunction(quot;F26quot;, quot;D26quot;)
I get a #Name Error
=DisplayCellFunction(6, 6)
I get a #Value! Error
You can't change cells from within a function; you can just replace the call
of the function by a result.
In none of the examples do you assign a value to the function; somewhere
there should be a
DisplayCellFunction = Someresult
or something similar
In example one you use F26 as a name, and/or it is not an integer
In example 2 you use text arguments, although they are declared Integers
Example 3 has no result assigned
--
Kind regards,
Niek Otten
quot;DMBquot; gt; wrote in message
...
gt;
gt;
gt; 'Public Function C(cellID1 As String, cellID2 As String)
gt; Public Function DisplayCellFunction(cellID1 As Integer, cellID2 As
gt; Integer)
gt; 'Copy formulas to the adjacent cell for visual verification
gt; 'Range(cellID1) = quot;'quot; amp; Range(cellID2).Formula
gt; Range(quot;F26quot;) = quot;'quot; amp; Range(quot;d26quot;).Formula
gt; End Function
gt;
gt;
gt; In the workbook I enter
gt;
gt; =DisplayCellFunction(F26, D26)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(quot;F26quot;, quot;D26quot;)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(6, 6)
gt; I get a #Value! Error
gt;
gt;
gt;
Niek's right; the function must return a result which will appear (or be
used in) the cell from which it was called (much like SUM; it doesn't post
its results to another cell, but rather to the cell in which you use the
function).
If I understand your intent, you could do something like this:
Function DisplayCellFunction(Cell1 As String) As String
DisplayCellFunction = Range(Cell1).Formula
End Function
So if you want to see the formula that's in D26, then in cell F26, enter
=DisplayCellFunction(quot;D26quot;)quot;DMBquot; wrote:
gt;
gt;
gt; 'Public Function DisplayCellFunction(cellID1 As String, cellID2 As String)
gt; Public Function DisplayCellFunction(cellID1 As Integer, cellID2 As Integer)
gt; 'Copy formulas to the adjacent cell for visual verification
gt; 'Range(cellID1) = quot;'quot; amp; Range(cellID2).Formula
gt; Range(quot;F26quot;) = quot;'quot; amp; Range(quot;d26quot;).Formula
gt; End Function
gt;
gt;
gt; In the workbook I enter
gt;
gt; =DisplayCellFunction(F26, D26)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(quot;F26quot;, quot;D26quot;)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(6, 6)
gt; I get a #Value! Error
gt;
gt;
gt;
dmb Wrote:
gt; 'Public Function DisplayCellFunction(cellID1 As String, cellID2 As
gt; String)
gt; Public Function DisplayCellFunction(cellID1 As Integer, cellID2 As
gt; Integer)
gt; 'Copy formulas to the adjacent cell for visual verification
gt; 'Range(cellID1) = quot;'quot; amp; Range(cellID2).Formula
gt; Range(quot;F26quot;) = quot;'quot; amp; Range(quot;d26quot;).Formula
gt; End Function
gt;
gt;
gt; In the workbook I enter
gt;
gt; =DisplayCellFunction(F26, D26)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(quot;F26quot;, quot;D26quot;)
gt; I get a #Name Error
gt;
gt; =DisplayCellFunction(6, 6)
gt; I get a #Value! Error
gt;
A Function procedure cannot change the value of another cell. You have
to use a Sub procedure to do that.
You might try to entering a function in the cell where you want the
formula from the adjacent cell displayed.
Try this code for that functionCode:
--------------------
Public Function DisplayCellFunction(CellID As String) As String
Application.Volatile
DisplayCellFunction = quot;'quot; amp; Range(CellID).Formula
End Function
--------------------Use this syntax:
=DisplayCellFunction(quot;A1quot;)
The Application.Volatile Statement recalculates the value of the
function any time data changes on the sheet. i.e. if you were to
change the formula that cell references, unless you have
Application.Volatile, it won't change the result of your function.--
Brassman
------------------------------------------------------------------------
Brassman's Profile: www.excelforum.com/member.php...oamp;userid=13290
View this thread: www.excelforum.com/showthread...hreadid=495832
- May 16 Wed 2007 20:37
wHAT AM i DOING wrong
close
全站熱搜
留言列表
發表留言