2013-04-18 122 views
1

我有3個相關矩陣:條件格式 - 的Excel VBA 2010

輸入相關性:

    Acc & Health  AE  Avemco Aviation  Bail 
Acc & Health   1   0.15  0.15   0.15 
AE     0.15   1   0.15   0.25 
Avemco Aviation  0.15   0.15   1    0.15 
Bail    0.15   0.25  0.15    1 

輸出相關性:

   Acc & Health  AE  Avemco Aviation  Bail 
Acc & Health   1   
AE     0.158   1  
Avemco Aviation 0.139  0.158   1 
Bail    0.177  0.258   0.130   1 

比較相關(的絕對值輸入 - 輸出相關表):

   Acc & Health  AE  Avemco Aviation  Bail 
Acc & Health  0.000    
AE     0.008  0.000  
Avemco Aviation 0.011  0.008   0.000  
Bail    0.027  0.008   0.020   0.000 

如果輸入相關表值大於0.2和另一個數學條件並且比較相關表中的單元格不爲空,我將條件格式應用於比較相關表:

但是我仍然由於輸入值大於0.2,因此可以在空白單元格(如E3(AE和Bail))中進行格式化。我如何解決這個問題,所以沒有格式化的空白單元格?

我在VBA代碼部分:

.Range(.Cells(5, 2), .Cells(LastRowAgg, LastColumnAgg)).Select 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
       "=AND((('Input Correlation'!B5:AT49-'Aggregate Loss Correlation'!B5:AT49)/'Input Correlation'!B5:AT49)>=(1/3),'Input Correlation'!B5:AT49>=0.2,B5:AT49<>"" "")" 
      Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
      With Selection.FormatConditions(1).Interior 
       .PatternColorIndex = xlAutomatic 
       .Color = 255 
       .TintAndShade = 0 
      End With 
     Selection.FormatConditions(1).StopIfTrue = False 

任何幫助將不勝感激!

回答

1

我建議你同時使用if語句與ISBLANK()函數:

... Formula1:="=IF(isblank(a32);;and(a32<=a$19;a32>a$18))" 

如果isblankTrue,別的什麼也不做評價公式(and(a32<= ...)