带公式的VBA Excel IF语句

时间:2020-04-01 13:40:20

标签: excel vba

我想将现有的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

我遇到错误:类型不匹配

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

Type mismatch when setting a formula into a cell with 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条件下可以使用宏代码?

0 个答案:

没有答案