检查excel中应该只接受文本的单元格

时间:2015-02-06 13:05:38

标签: excel vba excel-vba

If((Asc(ActiveCell)> 65和Asc(ActiveCell)< 95)或(Asc(ActiveCell)> 97和Asc(ActiveCell)< 122))然后         '如果是Application.WorksheetFunction.IsText(ActiveCell)那么         'if((Asc(ActiveCell)< 65和Asc(ActiveCell))> 90 Or(Asc(ActiveCell)< 97和Asc(ActiveCell)> 122))然后           其他            FnameTextOnly.Add ActiveCell.Address(False,False)         万一         ActiveCell.Offset(1,0)。选择     万一 这是代码在单元格的值时正常工作,例如:12as,@#$%,1234 但如果我输入数据,例如:asd34,那么它不应该接受但是接受它,因为名称以文本开头。

2 个答案:

答案 0 :(得分:0)

以下是测试 ActiveCell

的一种方法
Sub CellText()
    Dim CH As String, v As String
    v = ActiveCell.Text
    For i = 1 To Len(v)
        CH = Mid(v, i, 1)
        If CH Like "[a-zA-Z]" Then
        Else
            MsgBox v & " is not valid"
            Exit Sub
        End If
    Next i
MsgBox v & " is valid"
End Sub

答案 1 :(得分:0)

尝试将ISTEXT的If语句(单元格引用)添加到例程中。这样,ISTEXT(asd34)= False。在相应地确定真假分支之后。