gpt4 book ai didi

excel - 一次将多个单元格引用从相对更改为绝对 ($)

转载 作者:行者123 更新时间:2023-12-04 19:55:58 25 4
gpt4 key购买 nike

我的 Excel 电子表格中有以下值和公式:

          A                             
1 Shirt =Sheet2!A2
2 50 =C1
3 350 =Sheet3!D7
4 Product B =F8
5
6

A 列 中的值是我通过 相对单元格引用从 Excel 文件的其他部分获取的。

现在我想将这些单元格引用从相对更改为绝对,这样它们看起来像这样:

          A                             
1 Shirt =Sheet2!$A$2
2 50 =$C$1
3 350 =Sheet3!$D$7
4 Product B =$F$8
5
6

因此,我尝试使用 here 中的 VBA :

Sub Test()
ActiveCell.Formula = Application.ConvertFormula(ActiveCell.Formula, xlA1, xlA1, 1)
End Sub

但是,它只适用于事件单元格,但我希望 VBA 遍历整个工作表。因此,我正在尝试这样的事情:

Sub Test()
Sheet1.Formula = Application.ConvertFormula(Sheet1.Formula, xlA1, xlA1, 1)
End Sub

现在我收到错误“找不到对象或方法”。我必须如何更改 VBA 才能使其工作?

最佳答案

无法立即更改。需要一种对单个公式单元格的循环。

您可以使用 Range.SpecialCells Method 获取特殊单元格.因此,您可以获得所有公式单元格,然后循环遍历它们并将它们转换为绝对值:

Sub convertAllSheetFormulasToAbsolute()
Dim oCell As Range
With ActiveSheet
For Each oCell In .Cells.SpecialCells(Type:=xlCellTypeFormulas)
oCell.Formula = Application.ConvertFormula(oCell.Formula, xlA1, xlA1, xlAbsolute)
Next
End With
End Sub

关于excel - 一次将多个单元格引用从相对更改为绝对 ($),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51169108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com