我试图使用interop.excel而不是vba的引用来做一些工作表格式化。我的代码如下:
Dim lastrow As Range = excel.Rows.End(XlDirection.xlDown)
Dim findme As Range = excel.Range("A1:A" & lastrow)
excel.range不允许我使用“&”象征在这里。我该如何识别我的最后一行数据?
答案 0 :(得分:2)
查看Range Class Reference,您似乎错过了Row
范围的lastrow
属性:
Dim findme As Range = excel.Range("A1:A" & lastrow.row)
答案 1 :(得分:2)
我知道这是一个老线程,但有很多谷歌参考“坏解决方案”,我认为这是获得lasCell的优雅解决方案
set lastCell=yourSheet.Range("A1").SpecialCells(xlCellTypeLastCell)
所以你的代码可能是:
Dim lastrow As Range = excel.Range("A1").SpecialCells(xlCellTypeLastCell).Row
Dim findme As Range = excel.Range("A1:A" & lastrow)
答案 2 :(得分:0)
lastrow被定义为一个Range,你试图在一个字符串和一个Range之间进行字符串连接。
答案 3 :(得分:0)
它看着“A”。但要注意,如果合并的单元格垂直,则需要合并的顶部单元格。因此,如果合并的单元格从A15到A20(该列的最后一个单元格),则它将A15分类为最后一个单元格,即使它是A20。我发现Neolisk的解决方案在这种情况下是最好的。
答案 4 :(得分:0)
@Jason Bayldon它在有一个条目的最后一行结束。它也会跳过空白。我正在使用VB.NET 2010.这是示例代码。
Dim r2 As Excel.Range
Dim lastrow As Integer
r2 = oSheet.Range("Task_ID") 'Task_ID is my column name
lastrow = r2.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row 'returns last row