gpt4 book ai didi

excel - Worksheet.UsedRange.Rows.Count 返回错误结果

转载 作者:行者123 更新时间:2023-12-04 21:08:34 24 4
gpt4 key购买 nike

在 VB.NET 中,我想获取使用过的行,所以我写道:

Dim objWorksheet As Excel.Worksheet = workbook.Sheets(2)
Dim lastRow = objWorksheet.UsedRange.Rows.Count
lastRow 的数量是 比使用的行。我搜索了该网站,有人建议:
Dim range As Excel.Range = objWorkSheet.UsedRange
Dim lastRow = range.Rows.Count
这返回的行数少于实际使用的行数。
解决方案如图:
img1
我找到了 this question 这是对最后使用的行的整体理解。 UsedRange.Rows.Count表示从有数据的第一行到有数据的最后一行,这意味着您可以在第一个非空行到最后一个非空行之间有空行,这不会影响结果,但如果第一行为空,结果将比实际的非空行少一,如果前两行为空,结果将少两,所以链接问题说永远不要使用 UsedRange.Rows.Count得到最后一行。

最佳答案

尽量避免UsedRange .这可能会产生误导。例如,如果您填写范围 A1:B5并清除 B 列的内容,然后 UsedRange.Columns.Count将返回 2 - 因为 Excel 会记住带有格式的单元格并将它们包含在 UsedRange 中。

更新

要获得真正的最后一列和最后一行,请使用以下代码:

lRealLastRow = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row
lRealLastColumn = _
Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column

更新 2
img2

关于excel - Worksheet.UsedRange.Rows.Count 返回错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50434444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com