gpt4 book ai didi

vba - 用多个单元格中的变量编写公式的宏

转载 作者:行者123 更新时间:2023-12-04 21:02:55 24 4
gpt4 key购买 nike

我正在尝试创建一个甘特图,用条件格式更新图形,但为了做到这一点,我需要编写一个在每个单元格中更改的公式,我已经编写了一个宏来执行它并且它可以工作,但是在他们之后写着每个单元格都需要双击才能工作,双击它后它会自行更新,因此启用了自动计算,如果我使用文本到列,我可以让它们工作,但它们是关于650 列和自动执行此操作的宏不起作用。

建议将不胜感激。

这是我正在使用的代码:

Sub formula_writer()
Row = 2
col = 9
i = 0
row2 = ActiveCell.Row
x = 0
While i <= 100
If i >= 99 Then
x = x + 1
ActiveSheet.Range("i9").Offset(x, 0).Select
i = 0
col = 9
row2 = row2 + 1
End If
If x = 20 Then
Exit Sub
Else
aCell = Cells(Row, col).Address(RowAbsolute:=True, ColumnAbsolute:=True)
Selection.Formula = "" & "=SI" & "($A$" & row2 & " <> " & Chr(34) & Chr(34) & " , " & aCell & " , " & Chr(34) & Chr(34) & ")"
ActiveCell = ActiveCell.Offset(0, 1).Select
i = i + 1
col = col + 1
End If
Wend
i = 0
x = 0
End Sub

最佳答案

您可以稍微简化代码,但主要问题是代码中的公式(无论是 R1C1 还是 A1)应该使用公式名称的英文版本。试试这个更新:

Sub formula_writer()

Application.ScreenUpdating = False

Range("I10:DD28").numberformat="General"
Range("I10:DD28").FormulaR1C1 = "=IF(R[10]C1<>"""",R2C,"""")"

Application.Calculate
Application.ScreenUpdating = True
End Sub

关于vba - 用多个单元格中的变量编写公式的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32573718/

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