ワークシート上の何百もの列を読み込み、データ型がアルファ、数値、または英数字かどうかを判断しようとしています。ただし、列に空のセルが多すぎると、数式は「空」に戻ります。範囲内の空のセルを最も良く無視する方法についてのアドバイスはありますか?以下は範囲データ型を決定するVBA式の範囲内の空白セルを無視する
あなたのセルが最初のものが含まれている場合は、コード
Function DataType(aVal As Variant) As String
Select Case TypeName(aVal)
Case "String"
If IsNumeric(aVal) Then
If LCase(aVal) Like "*d*" Then
DataType = "Alphanumeric"
Else
DataType = "numerical"
End If
Else
If aVal Like "*[0-9]*" Then
DataType = "Alphanumeric"
Else
If aVal = vbNullString Then
DataType = "null"
Else
DataType = "Alpha"
End If
End If
End If
Case "Boolean"
DataType = LCase(TypeName(aVal))
Case "Double", "Single", "Integer", "Long", "Byte"
DataType = "Numerical"
Case "Range"
DataType = DataType(aVal.Cells(1, 1).Value)
Case Else
DataType = LCase(TypeName(aVal))
End Select
End Function
セルが空の場合に比較演算子を要求していますか?もしそうなら、 'IsEmpty'を使用する –