我试图定义一个最后行代码,它将返回 Excel 表格中最后一个非空单元格的最后一行值。 (其格式为表格)
我的 Excel 表中 COL A 的值从 1 到 1005,COL B 的值从 1 到 414,COL C 的值从 414 到 1005。
我想要的是有一个返回 414 的最后一行代码和一个返回 1005 的最后一行代码。我遇到的问题是因为它在表中。我的代码
lastrow3 = ThisWorkbook.Worksheets("DataÖnskemål").Range("A" & Rows.Count).End(xlUp).Row
lastrow2 = ThisWorkbook.Worksheets("DataÖnskemål").Range("B" & Rows.Count).End(xlUp).Row
两者都返回 1005。我可以用我的表格解决这个问题还是某种格式问题?
提前致以最诚挚的问候和感谢 /D
最佳答案
如果工作表上的 Excel 表格下方有数据,则会出现问题。在查找 Excel 表格中的最后一行时,最好引用表格列。
Sub FindLastRowInExcelTableColAandB()
Dim lastRow1 As Long, lastRow2 As Long
Dim ws As Worksheet
Set ws = Sheets("DataÖnskemål")
'Assuming the name of the table is "Table1"
lastRow1 = ws.ListObjects("Table1").Range.Columns(1).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
lastRow2 = ws.ListObjects("Table1").Range.Columns(2).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End Sub
关于vba - Lastrow 和 Excel 表。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43631926/