您好我已经编写了一个用于设置范围属性的代码,它正在运行一段时间。 以下示例是我的代码。
row_no = Ydim1 * matrix - Ydim1 + matrix
Set rng1 = Range("A" & row_no & ":" & c & row_no).Find(What:=somevar, LookIn:=xlValues, Lookat:=xlWhole)
如果Ydim1等于72且矩阵等于1,则行等于1且c =" EO"那它会正常工作 如果ydim1等于74且矩阵= 1,那么也只有row_no = 1但是rng1没有显示
提前谢谢
答案 0 :(得分:2)
欢迎来电调试。
使用
debug.print "A" & row_no & ":" & c & row_no
检查您的范围是否设置正确,并检查所有行号> 0
也可以使用
debug.print somevar
检查您的查找值。
在这种特殊情况下,可以在调试模式下使用.select来直观地检查您的范围。
使用即时窗口cmd
可以获得类似的结果print <variablename>
? <variablename> 'This is the same, represented by a question mark
在调试模式下,在要调试的行之后有一个断点)。
如果您按照这些步骤操作,我会非常肯定您会找到问题的原因。
答案 1 :(得分:0)
我不确定这是否对您有所帮助,但如果您使用Offset属性就不会更简单,例如
Set rng1 = Range(Range("A1").Offset(row_no,0), Range("EO").Offset(rowno,0)).Find(What:=somevar, LookIn:=xlValues,Lookat:=xlWhole)