0

在搞砸并试图解决这个问题之后,我不知所措。我有一个 C# 互操作,它返回一个 CSV 单元格地址列表。这部分工作没有问题。我有一种方法可以将这些单元格的颜色设置为红色:

Worksheets(Worksheet).range(errorCells).Interior.Color = RGB(216, 80, 83)

errorCells 是一个包含数据的字符串,例如

"O148,O389,O396,O397,O398,O399,O400,O401,O402,O403,O404,O405,O406,O407,O408,O409,O410"

我的问题是当 errorCells 字符串很大(大约 56 个元素)时 Excel 会抛出:

Run-time error '1004':
Application-defined or object-defined error

csv 列表正确传递到方法中。这基本上已经改变以帮助提高性能,因为一次只做一个单元的效率有点低。

有人有什么想法吗?

4

1 回答 1

0

也许你可以尝试不同的方法。假设那些 4 位错误单元格编号以某种方式对应于 [Row, Column] 单元格引用,您可以尝试以下操作:

Dim varSplit As Variant 
varSplit = Split(errorCells, ",") 'Read into an array each value to access

然后使用 For Each 循环遍历 varSplit 对象,然后:

  1. 将每个字符串拆分为行和列部分
  2. 使用以下方法访问需要着色的范围:

    Cells(Row,Column).Interior.Color  = RGB(216, 80, 83)
    
于 2013-07-11T09:42:10.603 回答