【问题标题】:How to make an If Statement into a For Loop in VBA如何在 VBA 中将 If 语句变成 For 循环
【发布时间】:2019-07-03 11:28:41
【问题描述】:

我正在使用 VBA 制作一个项目,但遇到以下代码的问题...

它说有一个对象或一个未定义的函数,但我不明白为什么......知道问题是什么吗?

(所有变量都已声明,我检查了工作表的名称)

Set FinalRange = ActiveWorkbook.Worksheets("Fiche Horaire").Range("A:A")
emptyroww = WorksheetFunction.CountA(FinalRange)

precautionroww = 0
If emptyroww > 50 Then precautionroww = emptyroww - 50

For a = precautionroww To emptyroww
    If ActiveWorkbook.Worksheets("Fiche Horaire").Cells(a, 1).Value = name Then ActiveWorkbook.Worksheets("Fiche Horaire").Cells(a, 4).Value = "it works"
Next

它给出的消息是“应用程序定义的或对象定义的错误”

【问题讨论】:

  • a 以 0 开头,行号以 1 开头。同时调用变量 name 不是他最好的主意。
  • 错误到底发生在哪里?您是否尝试过单步执行代码?

标签: excel vba loops if-statement


【解决方案1】:

如果您的 preventroww 为 0,因为您的 emptyrow 低于 50,您尝试将数据插入导致错误的第 0 行

如果您有一个 for 循环并以与“结束”值相同的值开始而不是 i 仍然运行 1 次,那么这就是 VBA 中的问题。

【讨论】:

  • 我改变了它,所以preventionroww值要么是1要么是emptyrow - 50,它可以工作:)非常感谢,我想是初学者的错误。
猜你喜欢
  • 2021-03-26
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 2017-06-17
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多