用VBA设置多个工作表单元格公式
工作中把工作工作台帐的公式错误的删除了,只能用VBA快速重新设置。
Sub AddFormulas()
Dim i As Integer
Dim j As Integer
Dim sheetName As String
Dim ws As Worksheet
For i = 3 To 31
sheetName = "4月" & i & "日"
On Error Resume Next
Set ws = worksheets(sheetName)
On Error GoTo 0
If ws Is Nothing Then Exit Sub
For j = 2 To 52
ws.Range("J" & j).Formula = "=B" & j & "-I" & j & "+D" & j & "+F" & j
Next j
Next i
End Sub
下面是Deepseek给出的优化代码,看不懂,没有用。
Sub AddFormulas_Optimized()
Dim i As Integer
Dim sheetName As String
Dim ws As Worksheet
For i = 3 To 31
sheetName = "4月" & i & "日"
On Error Resume Next
Set ws = Worksheets(sheetName)
On Error GoTo 0
' 仅当工作表存在时处理
If Not ws Is Nothing Then
' 一次性设置 J2:J52 区域的公式,使用 R1C1 样式自动适应行号
ws.Range("J2:J52").FormulaR1C1 = "=RC2-RC9+RC4+RC6"
Set ws = Nothing ' 重置对象,便于下一次循环
End If
Next i
End Sub

浙公网安备 33010602011771号