4

我在 Excel 表中有这个基本代码

For x = 1 To ThisWorkbook.Worksheets("GRP0").Range("D9:D112").Rows.Count
' do work here
Next x

虽然当我执行它给出了错误

Run-time error '16':

Expression too complex

我在兼容模式下使用 Excel 2007,如果有帮助,我相信这张表是为/在 Excel 2003 中制作的。关于导致错误的任何想法?

4

1 回答 1

3

让我回答这个问题,让它离开“未回答”部分......以及其他寻找答案并看到完美书面问题的人。

所描述的问题不时发生。我不知道确切的原因,但有一种简单的方法可以解决它。您只需要使用变量,在循环开始之前设置它的值并在循环起始行中使用这个变量。这可能如下:

Dim rowsCount As Long
    rowsCount = ThisWorkbook.Worksheets("GRP0").Range("D9:D112").Rows.Count
    'and any other complex statement could be placed here
For x = 1 To rowsCount
    'do work here
Next x

根据我的经验,所有“表达过于复杂”的问题都可以通过这种方式解决。

于 2013-03-07T07:57:33.560 回答