1

我正在尝试使用对 interop.excel 而不是 vba 的引用来进行一些工作表格式设置。我的代码如下所示:

    Dim lastrow As Range = excel.Rows.End(XlDirection.xlDown)
    Dim findme As Range = excel.Range("A1:A" & lastrow)

excel.range 不允许我在这里使用“&”符号。我应该如何识别我的最后一行数据?

4

5 回答 5

2

查看Range Class Reference,您似乎错过了放置 Range 的Row属性lastrow

Dim findme As Range = excel.Range("A1:A" & lastrow.row)

于 2012-11-01T00:11:35.400 回答
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)
于 2013-06-10T14:34:08.563 回答
0

lastrow 被定义为一个范围,您正在尝试在一个字符串和一个范围之间进行字符串连接。

于 2012-10-31T23:58:42.520 回答
0

它看着“A”。但要注意,如果有一个合并的单元格垂直,它将占据合并的顶部单元格。因此,如果有一个从 A15 到 A20 的合并单元格,这是该列的最后一个单元格,它会将 A15 分类为最后一个单元格,即使它的 A20 也是如此。在这种情况下,我发现 Neolisk 的解决方案是最好的。

于 2013-08-14T20:47:52.103 回答
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
于 2014-10-24T13:29:26.037 回答