在Excel中的范围内使用“查找”

时间:2015-10-28 15:31:47

标签: excel vbscript

我有一个excel(oSht loading),在单元格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,为什么?

1 个答案:

答案 0 :(得分:1)

使用您提供的小代码,我猜您的错误是由于您设置oSht的方式。试试这个,让我知道会发生什么......

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"并且没有其他打开的工作簿具有相同的功能。

那么aCell.row是什么?

通常检查代码的另一个选项是关闭所有Excel工作簿。单独打开myExcel.xls,然后只需添加此代码,让我知道结果是什么:

Sub test()
Dim aCell as Range
Set aCell = Range("B110:B111").Find(what:="mystr")
Debug.print aCell.row
End Sub