2016-08-01 59 views
0

我想檢查單元是否然後這個公式執行部分2腳本VBA Excel中如果細胞不等於公式然後

代碼簡化

Range("B1:C1").Select 
If ActiveSheet.Name = "Sheet1" And ActiveCell <> "=formula1" Then Sheet1Macro 

的完整代碼(長)

Range("B1:C1").Select 
If ActiveSheet.Name = "Sheet1" And ActiveCell <> "=IF(OR(IFERROR(SEARCH(""DKB"",RC[-2]),0),IFERROR(SEARCH(""Cox"",RC[-2]),0),IFERROR(SEARCH(""2020"",RC[-2]),0)),RC[-1],"""")" Then Sheet1Macro 

我只是問如何檢查,如果該細胞是公式,因爲我插入行和改變從A2的公式:F99到A99:F189例如

+2

添加.formula到activecell。 Debug.print當前公式以確保您需要「=」符號 – dbmitch

+1

實際上'ActiveCell.FormulaR1C1'在您的案例中 – Slai

+0

此外,'ActiveCell.HasFormula'返回True或False – Slai

回答

1
If ActiveSheet.Name = "Sheet1" And Range("B1").FormulaR1C1 = "=IF(OR(IFERROR(SEARCH(""DKB"",RC[-2]),0),IFERROR(SEARCH(""Cox"",RC[-2]),0),IFERROR(SEARCH(""2020"",RC[-2]),0)),RC[-1],"""")" Then Sheet1Macro