我正在尋找一種方法來遍歷一系列單元格並檢查單元格是否爲數字。我知道日期實際上是數字,我會搜索日期的數量。假設我想檢查範圍(「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
您的帖子中沒有問題。你的問題到底是什麼? –
如果你想遍歷範圍「A2:A10」,選擇「A2」沒有爲你做任何事情。範圍(「2:2」)表示您正在遍歷第2行中的每個單元格。您不想這樣做。 –
對於第一部分,您可以嘗試'Datecount = range(「2:2」)。SpecialCells(xlCellTypeConstants,xlnumbers).Count'。如果該範圍內不存在任何數字,則上述內容將返回錯誤,因此需要將其捕獲。對於第二部分,爲了避免循環,我們需要確定第一個非數字單元(稱之爲「aCell」)並返回「aCell.column-1」(或「0」)。一個想法是檢查除xlNumbers之外的所有「SpecialCells」的第一個單元格,並返回這些第一個單元格中的最小列。雖然不是很優雅.. – Ioannis