0

我在 excel 2013 英语上编写了以下代码,它工作正常。但是当我在 excel 2007 German 上运行它时,它卡在这一行(如果 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
4

1 回答 1

1

但是当我在 excel 2007 German 上运行它时,它卡在这条线上(如果 rngFrom.... 代码上的第 3 行)任何想法..我怎么能解决这个问题?

Range.DisplayFormat从 xl2010+ 开始添加属性。

请参阅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

我假设条件格式中只有一个条件。

于 2013-10-21T11:24:15.527 回答