gpt4 book ai didi

excel - 循环遍历单元格范围以检查它是否是数字(任何数字)

转载 作者:行者123 更新时间:2023-12-03 02:08:22 29 4
gpt4 key购买 nike

我正在寻找一种方法来循环访问一系列单元格并检查单元格是否为数字。我知道日期实际上是数字,我将搜索日期的数量。假设我想检查范围(“A2:A10”),如果单元格是数字,请将 1 添加到我的 datecount 变量中。 ISNUMBER() 函数似乎仅在您正在查找特定数字时才有用。但我正在寻找任何数字。

Sub Main()

Dim Datecount As Integer
Datecount = 0

Range("A2").Select
For Each c In Range("2:2")
If c.Value.IsNumber() Then
Datecount = Datecount + 1

Next

End Sub

以上是我需要帮助的最重要的事情。如果你能帮忙,那就太好了!如果您能帮助完成下一部分,那就太好了。基本上,我想检查单元格是否是如上所述的数字。但这一次,如果它不是一个数字,我希望它退出循环。

Dim Datecount As Integer
Datecount = 0

Range("A2").Select
For Each c In Range("2:2")
If c.Value.IsNumber() Then
Datecount = Datecount + 1
ElseIf
Exit For
End If
Next

End Sub

最佳答案

要解决第一个问题,您根本不需要循环。一个简单的 CountIf 公式将为您提供所需的内容:

Sub test()
Dim DateCount As Integer

DateCount = Application.WorksheetFunction.CountIf(Sheet1.Range("A2:A10"), ">=0")

End Sub

认为这将满足您第二个问题的要求:

Sub test2()
Dim LastNumberRow As Integer

If Application.Evaluate("=IFERROR(MATCH(TRUE,INDEX(ISTEXT($A2:$A10),0),0),0)") = 1 Then
LastNumberRow = 0
Else
LastNumberRow = Application.Evaluate("=IFERROR(MATCH(TRUE,INDEX(ISTEXT($A2:$A10),0),0),0)")
End If
End Sub

如果您检查的范围内没有任何文本(意味着它们都是数字单元格),test2() 将返回 0。如果这是一个问题,请告诉我,我会设法解决它......

关于excel - 循环遍历单元格范围以检查它是否是数字(任何数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283947/

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