出现运行时错误1004,不确定我在做什么错

时间:2018-08-08 22:29:47

标签: excel vba excel-vba

因此,我对excel VBA有点陌生,我正在创建一个可在财务工作表上运行的宏。我想将总计中的值移到正确的位置,因为它们是实际数据左侧的一列(这些不是由公式创建的,它们是由其他程序生成的,并且是固定文本)。我设法做得很好。这里的问题是要找到合计列在哪里,因为它在工作表之间有所不同。

这是我到目前为止所拥有的。

 For totalRow = 7 To 2000
    With ws
        If ws.Visible = True Then
            If InStr(Range(totalRow, "A").Value, "Totals:") > 0 Then
                Exit For
            End If
        End If
    End With
Next totalRow

但是由于某种原因,当我尝试运行它时给了我一个错误。我知道这可能是我忽略的简单事情,因为我一生无法解决问题。我尝试使用Do-Until循环,同样的问题。我使用的变量有问题吗?

1 个答案:

答案 0 :(得分:0)

一些建议:

  1. 这是基本问题:
  
    

错误1004“应用程序定义的错误或对象定义的错误”

  
  1. 在此处查找一些潜在的问题/潜在的解决方法:

VBA Runtime Error 1004 "Application-defined or Object-defined error" when Selecting Range

  1. 使用VBA调试器并一次在宏中逐行执行,直到找到特定对象,然后将其倒钩:

编辑:

  1. 话虽如此,我认为蒂姆·威廉姆斯的建议很可能是事实:
  

您应该始终在工作表中确定范围/单元格调用的范围   对象,否则他们将引用碰巧是   活动表。

但是请:

如果有可能,请努力学习可用的故障排除工具(例如调试器)。

我还建议您查看另一个“有用的提示”链接:

http://www.jlathamsite.com/Teach/VBA/WritingBulletProofCode.pdf

相关问题