Article ID: 166461
Article Last Modified on 10/22/2000
APPLIES TO
- Microsoft Excel 97 Standard Edition
This article was previously published under Q166461
SYMPTOMS
When you use the ROW or COLUMN function in your worksheet, the value
returned by the function may not be recalculated when you insert a new row
or column.
WORKAROUND
To work around this problem, use one of the following methods.
Method 1
To use this method, follow these steps:
- Activate a cell containing a formula that includes either the ROW or
COLUMN function.
- Press F2.
- Press ENTER.
This method reenters the formula and returns the correct result. Repeat the
steps in this method for each cell that contains a formula that includes
the ROW or COLUMN function.
Method 2
Microsoft provides examples of Visual Basic for Applications procedures for
illustration only, without warranty either expressed or implied, including,
but not limited to the implied warranties of merchantability and/or fitness
for a particular purpose. The Visual Basic procedures in this article are
provided 'as is' and Microsoft does not guarantee that they can be used in
all situations. While Microsoft support professionals can help explain the
functionality of a particular macro, they will not modify these examples to
provide added functionality, nor will they help you construct macros to
meet your specific needs. If you have limited programming experience, you
may want to consult one of the Microsoft Solution Providers. Solution
Providers offer a wide range of fee-based services, including creating
custom macros. For more information about Microsoft Solution Providers,
call Microsoft Customer Information Service at (800) 426-9400.
You can create custom functions in Visual Basic for Applications to use in
place of the ROW and COLUMN functions that are built into Microsoft Excel.
To do this, use the following macro:
Function MyRow(Optional cell)
Application.Volatile
' Check for cell argument.
If IsMissing(cell) Then
MyRow = Range(Application.Caller.Address).Row
Else
MyRow = Range(cell.Address).Row
End If
End Function
Function MyColumn(Optional cell)
Application.Volatile
' Check for cell argument.
If IsMissing(cell) Then
MyColumn = Range(Application.Caller.Address).Column
Else
MyColumn = Range(cell.Address).Column
End If
End Function
STATUS
Microsoft has confirmed this to be a problem in Microsoft Excel 97 for
Windows. This problem was corrected in Microsoft Excel 97 for Windows,
Service Release 1 (SR-1).
REFERENCES
For more information about writing custom functions, click the Index tab in
Visual Basic for Applications Help, type the following text
functions, Function procedures
and then double-click the selected text to go to the "Writing a Function
Procedure" topic.
Keywords: kbprb KB166461