Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何检查单元格值中的第一个字符_Vba_Excel - Fatal编程技术网

Vba 如何检查单元格值中的第一个字符

Vba 如何检查单元格值中的第一个字符,vba,excel,Vba,Excel,我想知道是否有办法检查单元格值中的第一个字符 例如 01999102477490 ( first char "0" ) 11003200602650 (first char "1" ) 我试图实现的是使用IF语句根据“0”和“1”区分单元格值,并将它们分配给不同的列。我可能可以自己做这个陈述,我只需要知道如何检查“0”和“1”的第一个字符 我还应该说,我有整列的值要检查 IF(logical_test, [value_if_true], [value_if_false]) 使用上述方法,您

我想知道是否有办法检查单元格值中的第一个字符

例如

01999102477490 ( first char "0" )

11003200602650 (first char "1" )
我试图实现的是使用IF语句根据“0”和“1”区分单元格值,并将它们分配给不同的列。我可能可以自己做这个陈述,我只需要知道如何检查“0”和“1”的第一个字符

我还应该说,我有整列的值要检查

IF(logical_test, [value_if_true], [value_if_false])
使用上述方法,您可以执行以下操作:

IF(LEFT(A1,1)="0","0",IF(LEFT(A1,1)="1","1","Neither"))
将A1替换为要测试的单元格

用以0开头的值替换逗号之间的“0”

将逗号之间的“1”替换为以1开头的值的任意操作

对于那些不以0或1开头的值,用您想做的任何事情替换“NOTE”(两者均不可用)

尝试:

Option Explicit
Sub FirstChar()
    Dim xlString As String
    Dim xlFirstChar As String

    xlString = "01999102477490"

    xlFirstChar = Left$(xlString, 1)

    MsgBox xlFirstChar
End Sub

一种稍微不同的方法

Dim a As Long, arr As Variant
With Worksheets("Sheet1")
    arr = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
    For a = LBound(arr, 1) To UBound(arr, 1)
        Select Case Asc(arr(a, 1))  'might have to be .Range("A1").Text
            Case 48
                Debug.Print "it's a zero"
                'do something with arr(a, 1)
            Case 49
                Debug.Print "it's a one"
                'do something with arr(a, 1)
            Case Else
                Debug.Print "it's something else"
        End Select
    Next a
End With
通过将A列中的值大容量加载到变量数组并在数组中循环,您应该在循环中花费相同的读取时间


如果你能同时处理所有的零点,然后同时处理所有的零点,考虑一个.< /P>如果我有一个整列的值来检查FWIW,如果只剩下最左边的一个,一个本地的工作表就不需要一个数字字符参数。如果答案和标题是正确的,那么为什么可以重复投票呢?