我在excel 2013 english上编写了以下代码,它运行正常。但是当我在excel 2007德语版上运行时,它就停留在这一行上(如果rngFrom ....代码中的第3行)我该如何解决这个问题?
For j = 1 To rngFrom.Cells.Count
rngTo.Cells(j).Value = rngFrom.Cells(j)
If rngFrom.Cells(j).DisplayFormat.Interior.Color <> rngFrom.Cells(j).Interior.Color Then
rngTo.Cells(j).Interior.Color = rngFrom.Cells(j).DisplayFormat.Interior.Color
End If
Next j
答案 0 :(得分:1)
但是当我在excel 2007 德语上运行时,它就停留在这一行(如果rngFrom ....代码中的第3行)任何想法......我可以解决这个问题吗? / p>
Range.DisplayFormat
属性是从xl2010 +开始添加的。
请参阅THIS MSDN链接。
链接的引用表单(如果链接终止):
修改强>:
我相信您要将条件格式颜色与单元格的内部颜色进行比较。如果是,那么您也可以使用此代码
For j = 1 To rngFrom.Cells.Count
rngTo.Cells(j).Value = rngFrom.Cells(j)
If rngFrom.Cells(j).FormatConditions(1).Interior.Color <> _
rngFrom.Cells(j).Interior.Color Then
rngTo.Cells(j).Interior.Color = _
rngFrom.Cells(j).FormatConditions(1).Interior.Color
End If
Next j
我假设条件格式中只有一个条件。