首页 > 解决方案 > 获取应用程序定义或用户定义的错误

问题描述

我绞尽脑汁想弄清楚为什么我会收到错误 1004。我有一个带有唯一标识符的工作表,我需要在另一个工作表中找到它,然后在该行的不同列中返回一个值,它似乎是 WorksheetFunction.Index+Match。我需要的数据偏移一列(因此是 Count_2 - 1)。我已经声明了变量,甚至解锁了表格以防万一。我知道我可以在 excel 中使用索引匹配,但我正在尝试使用 vba 进行所有计算,这样最终用户就不会搞砸任何事情,这样更容易看到工作簿实际在做什么。有任何想法吗?

另外,我一直将其设置为将数字打印到特定单元格,以便我可以更轻松地查看代码在哪里死亡。

For Count_1 = 2 to 51

    For Count_2 = 4 To 44

        Sheet8.Cells(Count_1, Count_2) = WorksheetFunction.Index(Sheet7.Range(Cells(47, Count_2 -1), _
        Cells(904, Count_2 - 1)), WorksheetFunction.Match(Sheet8.Cells(Count_1, 1).Value, _
        Sheet7.Range("A47:A904"), 0))

        Count_3 = Count_3 + 1
        Sheet1.Range("D1") = 2

    Next

Next

标签: excelvba

解决方案



推荐阅读