在Excel中使用查找范围
我有一个excel(oSht加载),并在单元格B67中,我有“mystr”文本和单元格B110也。
当我运行这个VBS代码:
Set Excel = CreateObject("Excel.application") Excel.Workbooks.Open "C:\...\...\Desktop\myExcel.xls" Set oSht = Excel.Worksheets("mysheet") Set aCell = oSht.Range("B110:B111").Find("mystr")
aCell.row是67而不是110,为什么?
用你提供的小代码,我会猜测你的错误是由于你如何设置的。 试试这个,让我知道发生了什么…
Set Excel = CreateObject("Excel.application") Excel.Workbooks.Open "C:\...\...\Desktop\myExcel.xls" Set oSht = Activeworkbook.Sheets("mysheet") Set aCell = oSht.Range("B110:B111").Find("mystr")
请确保您的...\Desktop\myExcel.xls
有一个名为“mysheet”的工作表,并且没有其他打开的工作簿具有相同的function。
什么是aCell.row
然后?
一般来说,检查代码的另一种方法是closures所有Excel工作簿。 打开myExcel.xls
,然后添加这个代码,让我知道结果是什么:
Sub test() Dim aCell as Range Set aCell = Range("B110:B111").Find(what:="mystr") Debug.print aCell.row End Sub