有一行数据中国邮政D如何把”中国邮政D“这行最后一个字母去掉
用vb代码实现,本人刚学vb,请高手指点

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim S As String
    S = "中国邮政D"
    S = Left(S, 4)
    MsgBox S
    End Sub
      

  2.   

    Private Sub Form_Load()
    Dim S As String
    S = "中国邮政D"
    S = Replace(S, "D", "")
    MsgBox S
    End Sub
      

  3.   

    Private Sub Form_Load()
    Dim S As String
    S = "中国邮政D"
    S = Mid(S, 1, 4)
    MsgBox S
    End Sub
      

  4.   

    不好意思是我没说清楚是这样的
    那个表有很多行数据比如说表里有以下数据:
    中国邮政D
    中国政法大厦H
    中国工行
    中国财税大楼A长度不是一定的,要判断后面是否有英文字母,有的话要把最后的英文字母去掉。谢谢!
      

  5.   

    Public Sub SubStr(strIn As String)
        Dim s As String
        s = Right$(strIn, 1)
        If (AscW(s) >= AscW("A") And AscW(s) <= AscW("Z")) Or _
            (AscW(s) >= AscW("a") And AscW(s) <= AscW("z")) Then
            strIn = Left$(strIn, Len(strIn) - 1)
        End If
    End SubSub t1()
        Dim s As String
        s = "中国邮政A"
        
        SubStr s
        Debug.Print s
        
        s = "中国财税大楼A"
        SubStr s
        Debug.Print s
        
        
    End Sub
      

  6.   

    Private Sub Form_Load()
    Dim S As StringS = "中国政法大厦H"
    s1 = Right(S, 1)If Asc(UCase(s1)) > 64 And Asc(UCase(s1)) < 91 ThenS = Left(S, Len(S) - 1)MsgBox S
    End If
    End Sub
      

  7.   

    楼上的英雄,谢谢你,可能还是我没说清楚:
    表上的数据是在excel表上的,有很五万行左右,如果一行一行输入的话,要很久啊。
      

  8.   

    加入需要转换的字符串在A列,处理后还放在A列:
    Sub yy()
      Dim i%, r%, ar
      r = [a65536].End(3).Row
      ar = [a1].Resize(r, 1)
      For i = 1 To r
          Do While Asc(Right(ar(i, 1), 1)) > -252
              ar(i, 1) = Left(ar(i, 1), Len(ar(i, 1)) - 1)
          Loop
      Next
      [a1].Resize(r, 1) = ar
    End Sub