我正在学习VB.Net并尝试从VBA过渡。如何使用行和列索引检索范围类型对象?
在VBA中,我会使用Worksheet.Cells([Row,Column])
,这将返回Range
类型的对象
但是,使用Excel Interop,返回的内容为Object
示例:的
Dim MyExcel as new Application
Dim MyBook as new Workbook=MyExcel.Workbooks.Open("SomePath\SomeFile.xlsx")
Dim MySheet as new Worksheet=MyBook.Sheets("SomeSheet")
MessageBox.Show(CStr(Sheet2015.Cells(1, 1).Value))
现在,the MSDN for Worksheet.Cells说:
因为 项 属性是范围的默认属性 对象,您可以在之后立即指定行和列索引 Cells关键字。有关更多信息,请参阅Item属性。
但是从该页面到Item属性的链接将您带到Worksheet.Item,而不是Range.Item - 所以也许应该说
" 项 属性是工作表的默认属性 对象..."
Worksheet.Item属性的返回是Object
类型的对象,这解释了为什么我没有获得intellisense :(
那么我可以使用另一种方法,通过提供单元格的索引(行,列)而不是地址,从工作表中返回 Range 对象?
我知道我可以使用Worksheet.Range
并提供A1引用的地址,但这对我来说比使用行和列索引要复杂得多。
我也知道我可以将Worksheet.Cells[R,C]
转换为Range
类型,但我更愿意找到返回范围的方法。 (请参阅my other question here关于使用COM对象作为基本类型Object
)
有什么建议吗?
答案 0 :(得分:2)
您可以按如下方式指定范围:
sheetName.Range(sheetName.Cells(row1, col1), sheetName.Cells(row2, col2))
然后您可以将此范围用于任何您想要的范围。
是的,我意识到这个答案很晚,但我遇到了同样的问题......