我有一份庞大的Excel 2016工作簿,其中(出于经济原因)所有收入都表示为负数,所有成本均为正数。
我需要:
我不能只使用"粘贴特殊"乘以-1
,因为虽然这种方法适用于单元格'值,它不适用于公式'文本并不会反转+和 - 符号,也不反转<和>公式中每个人物的迹象。
例如,假设我的单元格A3
的值为-150
,单元格B4
的值为20
。
我有=IF(-A3< B4,A3*-5,A3*2)
等公式。
我需要将单元格A3
变为+150
,将单元格B4
变为-20
。
我需要公式成为=IF(-A3>B4,A3*5,A3*-2)
。
我担心我应该使用某种VBA代码,但我坦率地说这是无效的。 有人可以帮帮我吗?
非常感谢你。
答案 0 :(得分:0)
您可以尝试这样的事情:
Sub Replacement()
Dim rng, c As Range
Dim fml As String
'set it to the range you want
Set rng = Range("A1:C4")
For Each c In rng
If c.HasFormula Then
'if cell contains formula, then...
fml = c.formula
fml = fml & "*(-1)" 'flip the sign
fml = Replace(fml, "<", "~!@~") 'change temporarily to some unique string
fml = Replace(fml, ">", "<")
fml = Replace(fml, "~!@~", ">") 'replace temporary string to character we want
c.formula = fml
Else
'if it's value, just multiply by -1
c.Value = c.Value * -1
End If
Next c
End Sub