Excel VBA如何在Macro之后进行Sheet更新

时间:2015-07-16 16:59:12

标签: excel vba excel-vba

所以我有这个代码......

           'Range("K" & varOffset).Select
            If ActiveCell.Offset(0, -1) = "" Then
                Output = "No"
            Else
                Output = "Yes"
            End If
            ActiveCell.FormulaR1C1 = Output

...但是当我使用宏时,无论我是否更改了单元格中的某些内容,单元格都只会显示“是”或“否”,但我希望能够更新此单元格在我使用宏之后。有没有办法使用VBA将该公式放入单元格?

1 个答案:

答案 0 :(得分:0)

对于纯VBA解决方案,您需要引用.Value2对象的ActiveCell.Offset(0, -1)属性元素。仅引用该对象不会与它当前具有的值进行比较。代码是:

'Range("K" & varOffset).Select
If ActiveCell.Offset(0, -1).Value2 = "" Then
    Output = "No"
Else
    Output = "Yes"
End If
ActiveCell.Value2 = Output

对于解决方案,创建一个公式,您将使用以下内容:

ActiveCell.FormulaR1C1 = "=IF(ISBLANK(RC[-1]), ""No"", ""Yes"")"

此致