gpt4 book ai didi

VBA - 范围.行.计数

转载 作者:行者123 更新时间:2023-12-01 16:48:34 26 4
gpt4 key购买 nike

我写了一个简单的代码来说明我的困境。

Sub test()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")

Dim k As Long

k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count
End Sub

发生的情况是这样的:我们计算包含从 A1 开始的值的行。如果包含值的行数 > 1,则代码效果很好。但是,如果 A1 是唯一包含任何值的单元格,则 k = 1,048,576,我猜这是 Excel 中允许的最大行数。

为什么 k = 1?

图片:

The code works

This is wrong

编辑:我正在使用的解决方法如下:

Sub test()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")

Dim k As Long

k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count
If k = 1048576 Then
k = 1
End If
MsgBox (k)
End Sub

因为当包含值的行数为 1 时,k 始终等于 1048576。这样做感觉有点傻。

最佳答案

也许更好的解决方案是从底部向上工作:

k=sh.Range("A1048576").end(xlUp).row

关于VBA - 范围.行.计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25056372/

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