首页 > 解决方案 > 带有公式的 VBA Excel IF 语句

问题描述

我想将现有的 excel 公式绘制到 IF 语句中。

简单的值是不够的,因为在 VBA 代码之前编写的公式已经没有了。

所以我找到了一些如何将公式绘制到代码中的方法:

https://www.excelcampus.com/vba/writing-formulas-with-macros/

但为了这种情况,如下:

If cbleven.Value = True Then
ActiveSheet.Cells(53, 4).Value = ActiveSheet.Cells(53, 4).Value - 1
ActiveSheet.Cells(51, 4).Formula = "=C52" + 2
End If

我收到一个错误:类型不匹配

在这种情况下,我必须做一些不同的事情。可以在这里找到另一个解决方案:

使用 VBA 将公式设置到单元格时类型不匹配

,我为此准备了这样的代码:

 Sub CableOddEven()
 Dim cblodd As Range
 Dim wsca As Worksheet
 Dim fm As Formula

 Set wsca = ActiveSheet
 Set cblodd = wsca.Range("C52")

 Set fm = AverageIfs("=C51")
 End If

 If cbleven.Value = True Then
 ActiveSheet.Cells(53, 4).Value = ActiveSheet.Cells(53, 4).Value - 1
 ActiveSheet.Cells(51, 4).Value = fm + 2
 'ActiveSheet.Cells(51, 4).Formula = "=C52" + 2
 End If
 End Sub

现在调试器突出显示Dim fm as Formula,其中出现错误:未定义用户定义的类型

有什么方法可以让我的公式在 IF 条件下使用宏代码?

标签: excelvba

解决方案


推荐阅读