自动更新公式结果

时间:2015-05-22 14:49:17

标签: excel vba

我正在使用以下代码:

Dim statdate As Long
    statdate = ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row

Range("O2").Select
Range("O2").FormulaR1C1 = "=IF(RC[-9]<TODAY(),""Booked"",""Provisional Booking"")"
Range("O2").Copy Destination:=Range("O3:O" & statdate)

Dim canc As Long
    canc = ActiveSheet.Range("AH" & Rows.Count).End(xlUp).Row

Range("AI2").FormulaR1C1 = "=IF(RC[-1]=""Yes"",""Cancelled"",""Booked"")"
Range("AI2").Copy Destination:=Range("AI3:AI" & canc)

它应该计算出两个不同字段的两种状态 - 但它只返回“O”列中的“预订”和“AH”列中的“预订”。这样会很好,通常我会搜索错误但是当我回到电子表格并突出显示“O”列中应该是“临时预订”的任何单元格或“AH”列中应该“取消”的单元格“在我分别在”AH“和”F“中突出显示单元格后,检查单个公式,它会更改为正确的结果。

公式是正确的,但在我手动检查每个单元格之前它不会更新。

保存和关闭文档会自动更新所有需要它的字段。但是,我想使用此宏将值复制并粘贴到第3列,并且作为值,在保存文档后这些值不会更新。

1 个答案:

答案 0 :(得分:0)

您应该在宏完成之前尝试使用activeworksheet.calculate