我正在纠结于VBA代码。我在做一个身份证代码生成器程序。其中一个过程涉及按单词拆分公司名称,并取前两个单词。Split已经被证明在这个任务中很有用,然而,当处理少于2个单词的公司名称时,我得到了一个#值!错误。
我试图修复它的一种方法是使用ISERROR函数,所以如果我得到任何错误,它会用一个字符来代替它,比如"X“。
总而言之,我尝试的是只捕获名称的第二个单词,如果没有第二个单词,只显示"X“。
Public Function idcode_2(text As String) As String
Dim Arr_text As Variant
Dim rz_x, rz2, code As String
Dim i As Integer
Dim c
Arr_text = Split(text, " ", 3)
rz2 = Arr_text(1)
If IsError(rz2) = True Then
rz2 = "X"
Else
rz2 = rz2 & ""
End If
idcode_2 = rz2
End Function我在Excel中使用VBA - Microsoft Office Professional Plus 2013。
发布于 2016-10-19 02:30:05
Arr_text将是一个从零开始的数组-- UBound(Arr_text)将给出该数组的上界(如果一项为零,如果两项为1,依此类推)
Public Function idcode_2(text As String) As String
Dim Arr_text As Variant, rz2
Arr_text = Split(text, " ", 3)
If UBound(Arr_text ) > 0 Then
rz2 = Arr_text(1)
Else
rz2 = "x"
End If
idcode_2 = rz2
End Function发布于 2016-10-19 04:02:35
Public Function idcode_2(text As String) As String
If Instr(text, " ") > 0 Then
idcode = Split(text)(1)
Else
idcode = "x"
End If
End Functionhttps://stackoverflow.com/questions/40115400
复制相似问题