【发布时间】:2010-11-03 18:05:08
【问题描述】:
下面的代码执行以下操作:它需要一个范围,然后在一个范围内找到不同的值, 并将它们存储在 d_distinct 数组中,也为每个不同的值创建不同的颜色,然后使用 Excel.FormatCondition 为范围着色...(我当前的范围是 A1:HM232)
for (int t = 0; t < d_distinct.Length; t++ )
{
Excel.FormatCondition cond =
(Excel.FormatCondition)range.FormatConditions.Add(
Excel.XlFormatConditionType.xlCellValue,
Excel.XlFormatConditionOperator.xlEqual,
"="+d_distinct[t],
mis, mis, mis, mis, mis);
cond.Interior.PatternColorIndex =
Excel.Constants.xlAutomatic;
cond.Interior.TintAndShade = 0;
cond.Interior.Color = ColorTranslator.ToWin32(c[t]);
cond.StopIfTrue = false;
}
但这工作太慢了...用户将不得不坐下来等待大约一分钟...我是这样做的,否则如果我用一行代码简单地这样做(颜色惊人快)
range.FormatConditions.AddColorScale(3);
我将无法请求单元格的颜色...(我可以在一个范围内有十多个不同的值)
你能帮我让我的第一种方法更快地工作吗?提前致谢!
【问题讨论】:
标签: c# excel excel-2007 vba