有时您需要调整存储在工作表单元格中的值。多数情况下,Paste Special提供的工具非常合适。例如,您可以使用“选择性粘贴”对一个单元格区域中的值进行乘法或除法,如_ExcelTips的其他问题所述。_

但是,使用“选择性粘贴”有一个缺点-它会更改您可能不希望发生的实际值。为什么?因为在对值进行调整后的四个月,您可能不记得确切的操作或初始值是什么。

出于这个原因,您可能会更希望用表示替换调整的公式替换值。例如,您在单元格B3中的值可能为100,并且您想将其增加10%。使用选择性粘贴,您可以轻松地将其更改为110,但是您可能想用公式= 100 * 1.1替换该值。有了这样的公式,从现在开始四个月就不会有任何关于起始值或您对它做了什么的问题了。

用公式调整值的唯一方法是使用宏,例如以下宏:

Sub Adjust()

Dim c As Range     Dim sMod As String

sMod = InputBox("Formula to add?")

If sMod > "" Then

For Each c In Selection             If c.HasFormula Then                 c.Formula = "=(" & Mid(c.Formula, 2) & ")" & sMod             Else                 c.Formula = "=" & c.Value & sMod             End If         Next c     End If End Sub

若要使用此宏,请选择要调整的单元格,然后运行它。

要求您提供添加到单元格的公式。例如,如果要将单元格乘以1.1,则应输入1.1(星号乘法符号,后跟1.1)。宏然后逐步遍历每个选定的单元格并进行调整。如果单元格包含公式,则将根据您的指定调整公式。如果该单元格包含其他任何内容,那么它将变成包含您的调整的公式。

注意:

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

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

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