使用VBScript在Excel中查找后获取列值

时间:2014-11-12 00:58:58

标签: excel vbscript excel-interop

我使用以下代码在整个Excel工作表中查找特定文本,并且能够访问该特定单元格。有了这些信息,我想读取该活动行的每个列值。

Dim ObjXL
Const xlWhole = 1
Set ObjXL = CreateObject("Excel.Application")

ObjXL.Workbooks.Open ("C:\Config.xls")
Set objWorksheet = ObjXL.Worksheets("Sheet1")
Set objRange = objWorksheet.UsedRange
Set objTarget = objRange.Find("Honda", , , xlWhole) ' The searched value is on column 3.

我尝试使用Offset方法,它似乎有效:

Msgbox objTarget.Offset(, -2).Value

Excel工作表有7列,并且通过-2到Offset方法获取第一列中的值。如何动态获取该行的第一个和最后一个列索引,以将它们传递给Offset方法。或者更好,我希望能够根据列名获取列值。

感谢。

1 个答案:

答案 0 :(得分:0)

不完全清楚你想要什么,但行中的第一个单元格可能是:

Cells(objTarget.Row, objRange.Column)

和最后一个单元格

Cells(objTarget.Row, objRange.Columns(objRange.Columns.Count).Column)

表示整行的范围对象为:

objRange.Rows(objTarget.Row)