private string GetAnalyzeValue(int row, AnalyzePart part)
 {
     string value = "";
       if (AnalyzeModuleCheck.Checked)
     value += FM[row, part.cModule] + "|";
       if (AnalyzeNormCheck.Checked)
     value += FM[row, part.cNorm] + "|";
       if (AnalyzeMethodCheck.Checked)
     value += FM[row, part.cMethod] + "|";
       if (AnalyzeUnitCheck.Checked)
     value += FM[row, part.cUnit] + "|";
       return value.TrimEnd('|');
 }
 private void CompareParts(AnalyzePart p1, AnalyzePart p2)
 {
     for (int r1 = p1.row1; r1 <= p1.row2; r1++)
       {
     string value = GetAnalyzeValue(r1, p1).ToLower();
     bool Present = false;
     for (int r2 = p2.row1; r2 <= p2.row2; r2++)
     {
       string value2 = GetAnalyzeValue(r2, p2).ToLower();
       if (value.Contains(value2) || value2.Contains(value))
       {
     Present = true;
     break;
       }
     }
     if (!Present)
     {
       FM.Range(r1, p1.cFirst, r1, p1.cLast).BackColor = Color.Yellow;
     }
       }
 }