我想要的是放置的宏:名字|姓氏|用户名
我在调用userNameBuilder函数时遇到错误,即使它返回一个字符串并期望一个字符串
// Assign new value to the t
t = Traficlight::yellow;
// Return rusult
return t;
这是我的userNameBuilder函数,代码正在抱怨。
当我注释掉" sh.Cells(counter,3).value = userNameBuilder(firstName,lastName)"然后代码运行正常,只是没有用户名。
用户名是姓氏的前5个字母加上名字的第一个字母。如果姓氏太短,则只填充从头开始的名字字符,直到用户名长度为6个字符。
Dim firstName, lastName As String
Set sh = ActiveSheet
Dim counter = 0
For Each entry In exUser.GetDirectReports() 'exUser is an exchangeUser
counter = counter + 1
firstName = entry.GetExchangeUser.firstName
lastName = entry.getExchangeUser.lastName
sh.Cells(counter, 1).value = firstName
sh.Cells(counter, 2).value = lastName
sh.Cells(counter, 3).value = userNameBuilder(firstName, lastName)
Next
答案 0 :(得分:0)
而不是
If (lastName >= 5) Then
你必须使用
If (Len(lastName) >= 5) Then
等喜欢
Public Function userNameBuilder(ByVal firstName As String, ByVal lastName As String) As String
Dim newLastName As String
Dim newUserName As String
If (Len(lastName) >= 5) Then
newLastName = Left(lastName, 5)
userNameBuilder = (newLastName & Left(firstName, 1))
ElseIf (Len(lastName) < 5 && Len(lastName) > 0) Then
userNameBuilder = lastName & Left(firstName, 5 - (Len(lastName)))
Else
userNameBuilder = vbNullString
End If
End Function