2014-06-28 63 views
0

這對我來說是新的。我嘗試使用IF在VBA中運行公式。公式R1C1問題使用IF

想法是在C3中包含信息時在AR3列中包含修改日期。

這是我寫的:提前

Range("AR3").Select 
ActiveCell.FormulaR1C1 = "=IF(RC[-3]="";"";IF(RC[-44]="";NOW();RC[-44])" 

謝謝!

+0

將分號更改爲逗號和換碼引號:'「= IF(RC [-3] =」「」「,」「」「,IF(RC [-44] =」「」「,NOW(), RC [-44])'' –

+0

嗨simoco,不幸的是,這仍然不工作:-( – user3786752

+0

它仍然突出顯示在黃色這一行,當我運行宏它顯示錯誤。 – user3786752

回答

2

幾件事情是不對您的公式:

  • 你需要逃脫雙引號(用雙引號...所以總共四個)
  • 你缺少一個右括號
  • 這是可選的,但你並不需要選擇範圍

您可以使用下面的更正聲明,:

Range("AR3").FormulaR1C1 = "=IF(RC[-3]="""","""",IF(RC[-44]="""",NOW(),RC[-44]))" 

下一次遇到這種麻煩時,只需使用宏記錄器:點擊「記錄宏」,並輸入你的公式。此外,您可以隨時將Excel中的顯示更改爲R1C1參考樣式(選項>公式> R1C1參考樣式),如果有幫助(個人情況下,我已將此更改映射到快捷鍵組合,以便在需要時可輕鬆獲取列數)