Vba 从Excel中的公式中删除所有$
这是一个骇人的Excel问题,当然不是标准程序。事先道歉 在工作簿中,我有一个财务模型。它包括三个页面:Vba 从Excel中的公式中删除所有$,vba,excel,excel-formula,Vba,Excel,Excel Formula,这是一个骇人的Excel问题,当然不是标准程序。事先道歉 在工作簿中,我有一个财务模型。它包括三个页面:收入和费用,这两个页面都从输入中读取信息。这些图纸一起构成一个完整的模型 我想通过在第一个工作簿旁边创建一个复制模型来扩展工作簿。这样做的目的是让我可以比较并排的场景。2组输入、2组费用计算和2组收入计算,每一组并列在各自的选项卡上 通常,我只是复制公式,然后“砰”的一声,我得到了一个重复的模型。不幸的是,我不能这样做,因为我使用了大量的$字符来锁定我的单元格引用。将Revenue中的公式复制
收入
和费用
,这两个页面都从输入中读取信息
。这些图纸一起构成一个完整的模型
我想通过在第一个工作簿旁边创建一个复制模型来扩展工作簿。这样做的目的是让我可以比较并排的场景。2组输入、2组费用计算和2组收入计算,每一组并列在各自的选项卡上
通常,我只是复制公式,然后“砰”的一声,我得到了一个重复的模型。不幸的是,我不能这样做,因为我使用了大量的$
字符来锁定我的单元格引用。将Revenue
中的公式复制到右侧不会改变Inputs
选项卡上公式引用的单元格。模型足够大,手动从每个公式中删除单元格引用锁需要几个小时
我目前的计划是使用VBA从公式中删除所有$
字符,然后继续使用复制粘贴方法
您可以按
ctrl+”
这会将所有单元格从显示其值更改为显示其公式。在此视图中,您可以按ctrl+H键将所有$
替换为零,然后单击“全部替换”
所以不需要在vba中编写所有代码,这本来也是可能的,但可能要复杂一点
这将删除所有要删除的美元符号
但请注意,如果您在新的无美元符号表中对外推公式进行任何编辑,则可能不正确,因为它还将外推应包含$的集合引用,以删除Excel中外部链接路径中的
$
Sub-ExtLinks\u relativePath()
此宏通过从单元格引用中删除$
,将选定单元格中的外部链接转换为相对链接
资料来源:托德。kluge@merrillcorp.com
Dim myCells As Range, curCell As Range
Dim myVal As Boolean
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
Set myCells = ActiveSheet.UsedRange
On Error Resume Next
For Each curCell In myCells
curCell.Select
myVal = IsFormula(curCell)
If myVal = True Then
With Selection
.replace What:="$", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
End If
Next curCell
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
MsgBox ("Formulas on the active sheet now have relative references.")
End Sub
Function IsFormula(cell_ref As Range)
IsFormula = cell_ref.HasFormula
End Function
听起来是“先设计后实施”原则的一个很好的例子;)我相信
单元格
对象中有一个公式
成员,您可以通过范围
引用它。我不在电脑旁,所以我无法为您键入任何内容。使用“移动或复制”来复制这三个选项卡如何?然后修改三个选项卡中的一组以形成新的场景。如果您需要同时查看这两个模型,请使用“视图”>“新建窗口”——您可以使用这些视图选项并排查看两个选项卡。这绝对是一种“先设计后实施”的情况!不幸的是,这是老板在我完成模型后传给我的条件。这正是我想要的。非常感谢。请注意,ctrl+'
对我不起作用;我选择了所有单元格,并单击了“公式”选项卡下的“显示公式”,通过此链接:@rvictordelta Hi我很高兴它能为您工作!我在格式化上面正确的快捷方式时遇到了一点问题,用“我是说”,用反勾号或反引号代替常规的引号。如:在将来,如果您想切换到带有快捷键的公式视图,您仍然可以尝试,如果它在您的键盘上,对我来说,它在Excel 2016中工作。或者它可能在键盘布局上不可用,在这种情况下,很好地解决了手动解决方案!