例如:
09×09×20
取出第一个星号左边的数!谢谢!

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim s As String
    Dim a
    s = "09×09×20"
    a = Split(s, "×")
    MsgBox a(0)
    End Sub
      

  2.   


    Private Sub Form_Load()
    Dim s As String
    Dim a
    s = "09×09×20"
    a = Split(s, "×")
    Debug.Print a(0)   '09
    Debug.Print a(1)   '09
    Debug.Print a(2)   '20End Sub
      

  3.   

    Dim S As String
    S = "09*09*20"
    Debug.Print Left$(S, InStr(1, S, "*") - 1)
      

  4.   

    用 Split(),会产生一些冗余的操作。用 InStr(),当传入的参数中不包含 * 时,直接把 InStr(1, S, "*") - 1 传入 Left$() 函数,会产生错误。并且,当传入的参数中不包含 * 时,是返回空串还是整个字符串,得由你的需求和代码来决定。
    具体如何处理,楼主自己看着办吧。
      

  5.   

    Dim S As String
    S = "09*09*20"
    If InStr(1, S, "*") > 0 Then
       Debug.Print Left$(S, InStr(1, S, "*") - 1)
    Else
       Debug.Print "Wrong String!"
    EndIf
      

  6.   


    Private Sub Form_Load()
        
        Debug.Print MidString("09×09×20")End SubPublic Function MidString(ByRef astrInput As String) As String    On Error GoTo Err_Hander
        
        MidString = Mid(astrInput, 1, InStr(astrInput, "×") - 1)
        Exit Function
    Err_Hander:
        Err.Clear
        MidString = ""
    End Function