gpt4 book ai didi

excel - 在 Excel 公式单元格中,有没有办法以编程方式将表达式从使用默认变量更改为自定义单元格名称?

转载 作者:行者123 更新时间:2023-12-04 22:17:43 26 4
gpt4 key购买 nike

我有一个包含数千个公式单元格的 Excel 表。例如,

E1=A1+B1+C1*D1, E2=A2+B2+C2*D2, E3=A3+B3+C3*D3, E4=A4+B4+C4*D4, ....
.... E5000=A5000+B5000+C5000*D5000
我使用下面的代码来更改相关单元格的名称。
colV = 1
For c = cFrom To cTo
Rowv = 1
For r = row1 To row5000
With Worksheets(ActiveSheet.Name)
Worksheets(ActiveSheet.Name).Cells(r, c).Name = ActiveSheet.Name & "R" & Rowv & "C" & colV
Rowv = Rowv + 1
End With
Next r
colV = colV + 1
Next c
执行上述代码后,A1、B1、C1、D1 和 E1 的新名称现在分别为 Sheet1R1C1、Sheet1R1C2、Sheet1R1C3、Sheet1R1C4、Sheet1R1C5,这是预期和正确的。相同的规则适用于后续行。
但是,当我在 E 列的所有行中看到公式栏中的公式时,会保留原始/默认表达式。例如单元格E1的公式仍然是=A1+B1+C1D1,E2仍然是=A2+B2+C2D2等等。有没有办法以编程方式根据单元格的新名称来表达公式?例如,E1 应表示为 = Sheet1R1C1+Sheet1R1C2+Sheet1R1C3Sheet1R1C4,
E2 应表示为 = Sheet1R2C1+Sheet2R2C2+Sheet1R2C3Sheet1R2C4 等等。这是必需的,因为使用更新的单元格名称的新表达式将存储在 csv.xml 文件中。
FormulaVar = Worksheets(ActiveSheet.Name).Cells(r, c).Formula
产生原始表达式
我感谢您的帮助。

最佳答案

  • 选择公式 > 定义名称 > 应用名称
    enter image description here
  • 在弹出的对话框中选择所有名称,然后按 OK:
    enter image description here
  • 您的 =A1+B1+C1现在应该是 =Sheet1R1C1+Sheet1R1C2+Sheet1R1C3

  • 用于此的 VBA 如下,但如果没有任何要查找的引用,则会引发错误。
    Sub Test()

    Cells.ApplyNames Names:=Array("Sheet1R1C1", "Sheet1R1C2", "Sheet1R1C3", "Sheet1R1C4")

    End Sub
    更新公式后,代码 Debug.Print Cells(1, 4).Formula返回 =Sheet1R1C1+Sheet1R1C2+Sheet1R1C3。

    关于excel - 在 Excel 公式单元格中,有没有办法以编程方式将表达式从使用默认变量更改为自定义单元格名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67318159/

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