Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 设置范围属性_Vba_Excel - Fatal编程技术网

Vba 设置范围属性

Vba 设置范围属性,vba,excel,Vba,Excel,您好,我已经编写了一个设置range属性的代码,它已经正常工作了一段时间。 下面的例子是我的代码 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”,

您好,我已经编写了一个设置range属性的代码,它已经正常工作了一段时间。 下面的例子是我的代码

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,则也仅行_no=1,但rng1不显示任何内容


提前谢谢

我不确定这是否能帮助您,但如果您使用Offset属性,例如

   Set rng1 = Range(Range("A1").Offset(row_no,0), Range("EO").Offset(rowno,0)).Find(What:=somevar, LookIn:=xlValues,Lookat:=xlWhole)

欢迎使用调试

使用

检查您的范围是否正确设置,并检查所有行号是否大于0。
也使用

debug.print somevar 
检查您的查找值。
在这种特殊情况下,可以使用。在调试模式下选择以直观地检查您的范围

使用immediate window cmd可以获得类似的结果

print <variablename>
? <variablename> 'This is the same, represented by a question mark
打印
?  '这是相同的,用问号表示
在调试模式下,在要调试的行之后有一个断点)


如果你遵循这些步骤,我很肯定你会找到问题的原因

测试时,完全识别范围对象。例如:
ThisWorkbook.Worksheets(“Sheet1”).Range(“A”和行号….
。以防万一。您确定A1和EO1之间确实存在
somevar
print <variablename>
? <variablename> 'This is the same, represented by a question mark