嗨,我試圖把一個公式一樣ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""India"",RC,"""")"
如果國家不印度然後檢查1,CHECK2和Check3應該是空的,否則他們應該顯示自己的價值。當我試圖把這個公式放在Excel中時,我給出了循環引用警告。我只是想要那個公式。任何幫助將不勝感激。
回答
當公式將自己的單元格直接或間接引用回自己的單元格時,它會創建一個循環引用。
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""India"",RC,"""")"
你正在寫在activecell公式和公式表示,如果RC [-1] = 「印度」 ,如果其真正RC是一樣activecell。因此,您正在收到循環引用錯誤。
但是,如果你把這個公式在列E如下,它將工作。
Range("E2:E" & lastRow).FormulaR1C1 = "=IF(RC[-4]=""India"",RC[-3],"""")"
另外下面是簡單的VBA代碼。
Sub sample()
Dim lastRow As Long
lastRow = Range("A65000").End(xlUp).Row
For i = 2 To lastRow
If (InStr(1, Cells(i, 1), "India") <= 0) Then
Range("B" & i & ":D" & i).Clear
End If
Next
End Sub
您不能使用RC
僅因爲這是參考當前公式的結果。
選項1:你需要有另一種細胞是有效的細胞,egthe下面創建一個到當前單元格的左邊一個單元格:評論後
ActiveCell.Offset(0,1).FormulaR1C1 = "=IF(RC[-2]=""India"",RC[-1],"""")"
選項2:如果你的代碼行,只是要清除當前細胞值,如果離開小區不印度然後使用此:
If ActiveCell.Offset(0,-1).Value <> "India" Then ActiveCell.Value = ""
選項3:如果RC中的默認值必須保留,但如果RC [-1]的值變得不等於印度需要重寫公式,則必須在公式中硬編碼您的值所以:
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""India"",""" & ActiveCell.Value & ""","""")"
實際上,RC默認具有它自己的值。當我們在** TRUE **的情況下應用上述公式時,RC將採用第一個左側單元格的值,但是在** FALSE **情況下,RC應該顯示它的默認值。在你的公式中,你在其他情況下是空的。 –
存儲的默認值在哪裏?或者你是否只想覆蓋這個RC值,如果是真的? – glh
我只想覆蓋此RC值(如果爲true)。我已經理解你的邏輯'如果ActiveCell.Offset(0,-1).Value <>「印度」然後ActiveCell.Value =「」'但我想這應該作爲一個公式。感謝您的快速響應。 –
- 1. Excel VBA for循環條件
- 2. Excel條件格式VBA循環
- 3. Excel中的循環中公式的單元格引用VBA
- 4. 循環引用excel公式使VBA方法返回0
- 5. Excel VBA條件格式刪除公式
- 6. VBA excel。通過條件循環
- 7. Excel VBA如果然後循環條件
- 8. Excel VBA公式中的條件格式公式
- 9. VBA行循環公式
- 10. 在Excel VBA中的循環引用
- 11. Excel的VBA循環條件格式按行
- 12. 循環如果公式中的條件
- 13. Excel VBA,循環
- 14. 在循環內引用公式中的段時VBA破壞
- 15. Excel(2007)VBA - 。帶有引號的公式
- 16. 使用公式作爲DO的條件while循環
- 17. Excel VBA - 包含公式的單元格的條件格式化
- 18. VBA做循環或「」條件
- 19. excel公式引用現有列條目
- 20. Excel VBA ADO循環
- 21. Excel-VBA循環ifs
- 22. For循環改變公式相對於範圍excel vba
- 23. For循環分配索引值Excel VBA
- 24. Excel VBA循環用於
- 25. 我的Excel條件格式公式工作在VBA
- 26. Easy VBA公式excel
- 27. Excel公式內VBA
- 28. Excel公式或VBA
- 29. VBA使用excel公式
- 30. 從VBA調用excel公式
@ Santhosh,RC在任何時候都會有一個默認值。如果RC [-1] =「印度」,那麼它應該顯示它自己的值,否則它應該顯示爲空。這是我的要求。 –