Excel使您可以轻松地编辑公式。这样,您可以快速将单元格引用或范围引用从相对更改为绝对。

如果您有大量的单元需要从相对引用更改为绝对引用怎么办?在这种情况下,问题的性质非常适合通过宏解决。

通过使用VBA中可用的ConvertFormula方法,您可以轻松地将公式从相对寻址转换为绝对寻址。以下简短宏使用此方法来更改在单元格范围内使用的寻址方法:

Sub Relative2Absolute()

For Each c In Selection     If c.HasFormula = True Then         c.Formula = Application.ConvertFormula(c.Formula, _           xlA1, xlA1, xlAbsolute)

End If Next c End Sub

当然,此宏如何工作的关键是在ConvertFormula方法中。在这种情况下,该方法使用的最后一个参数是xlAbsolute。如果要调整宏以使其更改为其他类型的寻址,则可以将xlAbsolute更改为xlRelative,xlAbsRowRelColumn或xlRelRowAbsColumn。 (我确定您可以通过其名称弄清楚每个常量的用途。)

关于ConvertFormula方法,还有另一件事要记住:它的长度限制为255个字符。这意味着,如果您的公式很长,则该方法可能无法按您希望的那样工作。确定它是否可以满足您的需求的最佳方法是对其进行测试。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10738)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: