我有关于Excel VBA的问题。我必须自动执行此任务。 是否有可能检查整列的内容(不是单元格格式)是否为数字(仅包含数字)?当然,我知道可以采用另一种方式,即逐个单元地下行。 我知道set过滤器可以识别列是否为数字。如何通过VBA获取此信息?
答案 0 :(得分:3)
COUNT计算数字; COUNTA统计数字和文字。
=Count(A:A)=CountA(A:A)
...如果列A仅包含数字,则返回true。在VBA中,
Debug.Print CBool(Application.Count(Columns(1))=Application.CountA(Columns(1)))
要将类似文本的数字转换为真数,请在列上使用TextToColumns,固定宽度,完成。
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
答案 1 :(得分:0)
可能是最简单的解决方案:
Sub TestMe()
Dim myCell As Range
Dim myCol As Range
Set myCol = Worksheets(1).Columns(1).Cells.SpecialCells(2)
For Each myCell In myCol.Cells
If Not IsNumeric(myCell) Then
Debug.Print myCell.Address
Exit For
End If
Next myCell
End Sub
下一步,尝试编写一个布尔函数,该函数将工作表和列进行搜索。它可以使用。