以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问:如何截取最右两字符?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=116428)

--  作者:GUO001
--  发布时间:2018/3/24 15:08:00
--  请问:如何截取最右两字符?
如:美丽的中国-----中国
如:东方明珠-------明珠
如:中国上海-------上海
主要最右的两个字符,EXCEL我会,因为有百度


[此贴子已经被作者于2018/3/24 15:31:28编辑过]

--  作者:有点蓝
--  发布时间:2018/3/24 15:29:00
--  
1、msgbox(right("东方明珠",2))
2、
Dim s As String = "东方明珠"
msgbox(s.SubString(s.Length - 2))

--  作者:GUO001
--  发布时间:2018/3/24 15:34:00
--  
变量也行?
--  作者:有点蓝
--  发布时间:2018/3/24 15:37:00
--  
第二种用法不就是变量吗
--  作者:GUO001
--  发布时间:2018/3/24 15:39:00
--  
刚学,谢谢,我试试看
--  作者:GUO001
--  发布时间:2018/3/24 15:49:00
--  
还是不会!我是做橱柜的,我的目的是柜编号=A1-1(其中A=地柜,A1=地柜1,A1-1=地柜1-1#柜,我要分别截取A,A1,和最右的1)
                                  我的目的是柜编号=B1-5(其中B=吊柜,B1=吊柜1,A1-5=吊柜1-5#柜,我要分别截取B,B1,和最右的5)

--  作者:GUO001
--  发布时间:2018/3/24 15:56:00
--  
附上图片
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20180324155404.png
图片点击可在新窗口打开查看

--  作者:GUO001
--  发布时间:2018/3/24 15:57:00
--  
现在的是手动输入的,应该可以自动输入啊!!
--  作者:有点蓝
--  发布时间:2018/3/24 16:02:00
--  
DataColChanged事件中加入下面的代码:

If e.DataCol.Name = "柜编号" Then
    If e.DataRow.IsNull("柜编号") orelse e.DataRow("柜编号").length < 2 Then
        e.DataRow("A1编号") = Nothing
    Else
        e.DataRow("A1编号") = right(e.DataRow("柜编号"),2)
    End If
End If

--  作者:GUO001
--  发布时间:2018/3/25 11:31:00
--  
要不要不列属性改为表达式??