2016-08-01 56 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