AutoIt中如何提取_Excel_RangeFind返回的单元格/行并实现指定范围选择
AutoIt中如何提取_Excel_RangeFind返回的单元格/行并实现指定范围选择
嘿,我来帮你搞定这个问题!你已经用_Excel_RangeFind定位到目标值了,但其实这个函数返回的本身就是一个Range对象,直接从里面提取行号就行,完全不用依赖ArrayDisplay去看数据~
下面是具体的实现步骤和代码:
正确获取目标单元格的Range对象
先把_Excel_RangeFind的返回值赋值给一个变量,这样我们就能直接操作这个单元格的属性了:Local $oFoundRange = _Excel_RangeFind($oWorkbook, "**Total", "B:B", Default, $xlWhole)判断是否找到目标值
一定要加这个判断!如果没找到目标值,函数会返回0而不是对象,直接访问属性会报错:If Not IsObj($oFoundRange) Then MsgBox(0, "提示", "没找到'**Total'这个值哦!") Exit EndIf提取目标行号并计算范围
从Range对象里用.Row就能拿到行号,然后计算出要选择的结束行(目标行的上一行),再构造你需要的范围字符串:; 提取目标单元格的行号 Local $iTotalRow = $oFoundRange.Row ; 计算要选择的结束行(目标行的上一行) Local $iEndRow = $iTotalRow - 1选中指定范围
如果你要选B列从第4行到结束行的区域,就构造"B4:B" & $iEndRow;要是想选整行范围,就用"4:" & $iEndRow,然后通过Range对象选中:; 示例:选择B列的目标范围 Local $sSelectRange = "B4:B" & $iEndRow Local $oSelectedRange = $oWorkbook.Activesheet.Range($sSelectRange) $oSelectedRange.Select
把这些代码整合起来,就是完整的实现啦!这样你就能精准选中从第4行到**Total所在行的上一行的范围。
备注:内容来源于stack exchange,提问作者D1scher44
相关产品推荐
相关产品推荐

