我试图在excel vba中定义一个超出某个范围的行的变量,并且由于某种原因,当我尝试运行它时,我在定义时不断获得对象所需的编译器错误。我是vba的新手,我对这个错误感到很困惑。任何帮助将不胜感激。
Set endRng2 = rng2.Rows.Count + 2
答案 0 :(得分:1)
我假设endRng2
是一个Range对象。就像你宣称它为Dim endRng2 as Range
。不幸的是,rng2.Rows.Count + 2
将返回一个Integer(即rng2 + 2中的行数)。您无法将Range对象设置为整数,因此VBA正在大惊小怪。
将endRng2
的类型更改为Dim endRng2 as Integer
的整数或更改rng2.Rows.Count + 2
以返回范围而不是数字。例如,如果您希望endRng2是rng2
中最后一个单元格下方2行的整行,那么请使用Set endRng2 = rng2.Offset(0,rng2.Rows.Count+2).EntireRow
或类似的内容......
答案 1 :(得分:0)
rng2
可能未申报/未分配。
如果是这样,您将收到424 Object Required错误。
确保rng2
是有效的Range变量。