我在 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 中制作的。关于导致错误的任何想法?
我在 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 中制作的。关于导致错误的任何想法?
让我回答这个问题,让它离开“未回答”部分......以及其他寻找答案并看到完美书面问题的人。
所描述的问题不时发生。我不知道确切的原因,但有一种简单的方法可以解决它。您只需要使用变量,在循环开始之前设置它的值并在循环起始行中使用这个变量。这可能如下:
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
根据我的经验,所有“表达过于复杂”的问题都可以通过这种方式解决。